———————————————————————————————————————————————
BY:乱雪
来源:0xx.org.cn
挖掘脚本漏洞和软件漏洞相比来说更容易一些,门槛也很低,不需要掌握汇编、系统原理等等高深知识,只需要掌握脚本,甚至没有编写过WEB程序,只要能看得懂代码,也就能挖得到洞。如果一个文件一个文件地去看代码,那太烦琐了,而且工程相当大,这里总结了几个以工具来挖掘的方法:
一、Dreamweaver
Dreamweave做网页是个好东西,挖漏洞更是个好东西,和其他程序比起,我更爱Dreamweaver,灵活运用它,可以更快地挖出脚本中的漏洞。
挖掘之前,先总结一下一般会出现漏洞的几个接受参数的函数:
ASP中的就找找Request....
PHP:$_POST、$_GET、$_REQUEST....
启动Dreamweaver,选择菜单栏上的“编辑”,选“查找和替换”,如图:
随便去下了个ASP程序,以它为例,挖个漏洞出来。
在“查找和替换”对话框中,把“查找范围”选成“文件夹…”,路径就是web程序的路径,然后在“查找”内容里填个request,点击“查找全部”,看结果如图:
接受来的参数都只过滤了空格,双击打开查看他们的源码,代码如下,很明显出现问题了:
复制内容到剪贴板程序代码
Dim adminname,password,pass
adminname = Trim(Request("adminname")) '//这里没有过滤
password = Trim(Request("password")) '//这里也没过滤
pass = Trim(Request("pass"))
if password <> pass then
ReturnError("超作错误,两次密码输入不相同!")
end if
Sql="Select * From [admin] " '//数据库操作
Set Rs = Server.CreateObject("Adodb.Recordset")
Rs.Open Sql,Conn,1,3,1
If adminname <> "" Then Rs("adminname") = adminname
If password <> "" Then Rs("password") = md5(password)
Rs.Update
Rs.Close:Set Rs=Nothing
ReturnOK("修改管理帐号密码成功,下次登陆请用新帐号/密码进行登陆。")
PHP的方法也一样,只是查找的内容不一样而已。
二、PHP Bugscan
这个用起感觉一般吧:)
见此文:http://luanx.blogbus.com/logs/30882418.html
下载地址:http://rapidshare.com/files/131400238/PHP_Bug_Scanner.rar.html
三、Mscasi
这个是微软出的,针对ASP的,不过觉得此软件不怎么样,我扫了好几个有漏洞的都没扫出来,而且还是基于.NET的。
见此文:http://luanx.blogbus.com/logs/30925417.html
下载地址:
http://www.microsoft.com/downloa ... &displaylang=en
四、Php Vulnerability Analyzer
07年在杂志上看到介绍的,专门用于挖PHP程序中的漏洞的,好象挺不错的,但我没有用过,也是基于.NET环境的。
下载地址:http://www.xiazai3.com/Soft/lc/26145.html
五、PHP X-CODE BUG SCAN
这个程序也不错,用来挖PHP中的漏洞的,推荐大家使用使用。
这里只详细介绍了Dreamweaver,其他程序都差不多的,就不一一介绍了。感觉还是Dreamweaver好用一些。希望能帮助大家:)
本文转hackfreer51CTO博客,原文链接:http://blog.51cto.com/pnig0s1992/526662,如需转载请自行联系原作者