服务器维护,服务器代维,安全设置,漏洞扫描,入侵检测服务

dirtysea 发表于 2006-2-26 00:41:04

打破常规 构造特殊字符进行渗透入侵

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