分析服务器的web程序,像论坛、聊天室了,发现其程序编写的bug或疏漏,从而进行80端口的渗透入侵,似乎只是黑客程序高手的事情。其实不然,虽然我们不会编写程序,但是利用构造特殊字符菜鸟一样可以来进行80端口的渗透入侵。不相信?那好,看我用特殊字符精心打造的的四把小李飞刀。
第一把飞刀:鱼目混珠
我们可以用它实现在论坛里冒名发言。看中一个美眉,日思夜想想让她在论坛里对全世界说我爱你,美眉就是不说怎么办?打开记事本,按下tab键或capslock+tab键,就会形成一个特殊空格。然后复制下来,将空格放在美眉的名字后注册,啊,果然成功注册了和美眉一个同样的名字,剩下来的事就好办了。形成特殊空格的字符还有区位输入法输入的aaaa或aaab或aaac。还有一个字符是,在html标签里它就是空白的意思,用它也可以。我的经验是区位输入法输入的aaaa/aaab/aaac,在asp编写的程序里成功率极高,而tab键和在php程序里成功率高。更可怕的是,在wdb论坛和ibb论坛,用tab键构造的特殊用户名可以取得和原用户相同的权限。如果原用户名是管理员,那你的构造的这个冒名用户也会变成管理员。
第二把飞刀:瞒天过海
在asp动态网络编程中,经常会有验证管理员帐号和密码的登陆页面,以便进行后台管理。但是在这样的身份验证里会存在一些漏洞,例如在用户名和密码框里都输入'or'=',也可以进入管理页面。为什么会这样?我简单说一下。看原程序: user=request.form("user")
pass=request.form("pass")
......
sql="select * from guestbook where user ='"&user&"' and pass='"&pass&"'
如果将user和pass的值我们都输入'or'=',那么上边的最后一行sql代码就会变成
sql="select * from guestbook where user ='or'='and pass='or'='"
如果你懂一点sql语句的话,就可以看到,我们输入的'or'='满足了程序成真的条件值,所以我们就蒙敝过关了。这样说太抽象了,信心文章管理系就存在这个漏洞,这套程序在网上一抓一大把。抓个图看看,你用我提供的特殊字符,在帐号和密码处都输入'or'='就可以就入后台管理了。
第三把飞刀:暗渡陈仓
最近网络上出了不少关于入侵lb论坛的文章,无一例外,它们都谈到了构造特殊字符。众所周知,如果在一个cgi或perl程序里写入system @ARGV;#这一行代码,就会形成一个网页后门。用http://ip/*.pl?dir就会看到网站的物理目录(*.pl文件里有system @ARGV;#这一行代码)。举个例子吧,agbii是一个免费的cgi留言本,网上非常流行。而你在这个留言本里留的言都是以第n条留言的数目、用户名、标题、内容等等来排列的,而且留的言的都是按第n条留言顺序排放在一个固定目录data/用户名下。说起来好像很复杂。
像我留了一条言,是这个网站留言本的第10条留言,我用的用户名是;system,标题是@ARGV;#,内容是哈哈,仔细看签写留言的那个图,此留言本的用户就是222.然后我们执行http://192.168.1.3/book/data/222/10.pl?dir就会得到一个shell了。
第四把飞刀:太公钓鱼
这是一个比较有趣也比较难利用的方法,也就是网上所说的跨站脚本攻击。我说一下,我们菜鸟可以利用的方法吧。先说一个有趣的,在ubb代码中,就是我们在论坛里发贴的代码有一个bug。在
,当你点这个贴子就会弹出一个js对话,上书黑客x档案。写入
,那么在弹出对话框后,又会接着打开一个新的网页窗口。如果我们在这个网页里放入网页木马呢?这里我们先不谈网页木马。我们假如得知,如果这个论坛加一个管理员hack的url是http://ip/bbs/upadmin?user=hack,当然这个url是要以管理员身份执行才可以,那么我们写入这个url,然后引诱这个论坛的真正管理员来看此贴,那么这个已登陆论坛的管理员点击此贴后,hack这个个普通注册用户就会成为这个论坛的管理员了。类似的办法,还有上传附件。我们上传一个txt附件,txt文件里就是这个加hack管理员的url,由于ie浏览器的bug,只要服务器网站文件里的文件是html码它就执行html网页,并不理会后缀名是什么。管理员点此txt附件,同样可以执行增加hack管理员的url。至于在[img][/img]或txt文件里的html、javasripct码我们可以精心构造,可以让论坛管理员点击后毫无察觉发现自己执行了一些url程序。最后说明,这四把飞刀并不是锋利无比,在每个服务器上都可以刀刀封喉,但对网上的大多数论坛或聊室或别的网页程序,还是......那句话......小李飞刀,名不虚传。