论坛: 黑客进阶 标题: CGI漏洞的发现及利用原理!!! 复制本贴地址    
作者: zhangyun [zhangyun]    论坛用户   登录
想发现CGI漏洞至少应该有以下几个条件:

1.有WEB编程经验

2.熟知各种CGI漏洞

3.熟悉HTTP协议

如果你有点狗屎运(如我)那就最好了!

CGI漏洞大多分为以下几种类型:

1.暴露不该暴露的信息如:

暴露密码文件, 暴露自身源代码, 暴露文件存放绝对路径等(这种往往是WEB SERVER的毛病)

2.执行不该执行的命令如:

执行SHELL指令等(这种往往是CGI自身编写的问题)

3.溢出:

如iishacker(这种往往是WEB SERVER的毛病)


第一种漏洞一般是因为SERVER编写不当造成的,如我发现的在NT下用PHP查看硬盘任何文件的BUG,首先你要了解PHP的执行过程,在NT下PHP3文件被请求后,经过PHP.EXE解释,然后将解释后结果返回给浏览器,而PHP.EXE本身就可以读任何文件(你可以在自己机器上试验)所以PHP.EXE是无罪的,那就只有怪APACHE为什么不好好判断用户的输入了.像ASP文件为什么加上xxx.asp%81就会暴露源代码也是相同道理,Server认为asp%81不是一个asp文件,所以不加以解释就返回给浏览器,当然这其中还有些判断过程,Server肯定是先判断对方的请求是否合法,但xx.asp%81翻译过来为:xx.asp?这种请求是合法的,所以Server找到这文件并不经过解释器而直接把它的内容读出来给用户.像我昨天夜里发现的暴露JSP源代码的方法也是一样,开始我试验的时候Server老认为我的请求不合法,所以我就骗它,:)骗到它认为我的请求是合法的它就就范了!(脱个精光)哈哈!

在谈第二种漏洞的原理:

这种漏洞容易出问题的地方一般是UNIX下SHELL命令的直接执行和fopen()等对文件操作的函数的使用。往往是因为程序员不对用户输入做精确的判断造成的,这类例子太多了,如著名的http://www.victim.com/cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/passwd就是一个最好的例子,unix认为第一条命令结束后将要执行第二条命令,然后Hacker的指令就顺利的执行了.所以CGI的漏洞经常是因为“;”等特殊符号造成的,还值得我一提的是../欺骗,很多BUG都因为../造成的,道理其实和前边的差不多,如NT4上的SHOWCODE.ASP,大家看它的源代码都知道,其实它做了限制的,只允许看/msadc/Samples/目录下的东东的,不过我们可以欺骗它,(搞的黑客技术和欺骗技术一样)然后达到目的查看它诸如:winnt/repair/sam._这样的核心文件(顺便提一下,我以前用JAVA写过一个showcode的利用程序,有兴趣的朋友可以下载它).

在谈谈FOPEN()函数吧,其实它的作用就是打开文件,也就是读文件内容,它这个特性就可以让我们利用它做我们想做的事情,如:看弱智女子洗澡,但你千万别像我一样被诬告强奸哦:),使用这个函数和WEB程序员的水平有关,弱智力的一般就可以让我们利用了,最好的例子就是看我当时是怎么使用抓X龙爪手抓下来的那副图http://go.163.com/~lovehacker/passwd.jgp想必你也就会明白其中的道理了!

第三种漏洞原理:最著名的就是EEYE发现的IIS的溢出,也就是当年的IISHACKER(呵呵,他的取名和我还很像哦,CGIHACKER,IISHACKER)靠,有兴趣的朋友可以多看看关于溢出方面的文章和IISHACKER的源代码.其实是因为没有判断用户输入边界造成的,应用我们安盟大虾的话就是:本来我做电梯上五楼,234楼是机密单位别人无权进入,谁知道电梯超载了,到了二楼电梯停了,我也就进了我不该进的地方,干了我不该干的事情.(形象吧,经典吧,大家鼓掌)

我对CGI漏洞研究乐此不疲,因为利用CGI入侵有很多其它方法无可比拟的好处,用它对付那些自以为安装了FIREWALL就不得了的主机很有效果,当然发现一个CGI的漏洞并利用也并不是那么简单的一件事情,最重要的是你有兴趣.

顺便吹个牛皮:我自己写一个WEB SERVER取名叫"AnyWay",支持GET和POST请求,支持COOKIE、身份验证.用纯JAVA编写,不支持JSP和SERVLET,但支持纯JAVA写的应用程序,自认为功能很强,现在的CGI和JSP,PHP,ASP能做到的它都可以. 绝不会出现暴露源代码的问题,也绝对不会产生溢出让用户执行任意代码,最多就是我的SERVER挂起.那天心情好,放到网上悬赏5元钱让大家测试.标题:"Lovehacker AnyWay WebServer叫板全球黑客"幅标题:"谁能查看到index.cmd,list.cmd或其它以后缀.cmd结尾的文件的源代码,Lovehacker承诺奖励发现者五元RMB:)"


地主 发表时间: 04-09-26 04:34

回复: hackerjune [hackerjune]   论坛用户   登录
文章在哪看过?

B1层 发表时间: 04-09-26 10:03

回复: balsai [balsai]   论坛用户   登录
vbkb 

B2层 发表时间: 04-09-26 10:35

回复: amr [amr]   论坛用户   登录
真实古董,你也拿出来

B3层 发表时间: 04-09-26 11:17

论坛: 黑客进阶

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号