网站后台脚本漏洞挖掘技巧,基于工具快速挖掘


    以前写的文章,今天整理到的,这是以前搞脚本安全的一些经验,扔出来,当时靠 DW的确检测了很多脚本安全问题。
    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/downloads/details.aspx?FamilyId=58A7C46E-A599-4FCB-9AB4-A4334146B6BA&displaylang=en
    四、Php Vulnerability Analyzer
    07年在杂志上看到介绍的,专门用于挖PHP程序中的漏洞的,好象挺不错的,但我没有用过,也是基于.NET环境的。
    下载地址:http://www.3800hk.com/Soft/zhly/22407.html
    五、PHP X-CODE BUG SCAN
    这个程序也不错,用来挖PHP中的漏洞的,推荐大家使用使用。
    这里只详细介绍了Dreamweaver,其他程序都差不多的,就不一一介绍了。感觉还是Dreamweaver好用一些。希望能帮助大家:)