|
![]() | 作者: 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号