网站后台脚本漏洞挖掘技巧,基于工具快速挖掘
程序员文章站
2022-03-29 16:01:58
现在很多搞web开发的人,脚本安全做得真烂,简单而又“复杂”过滤两下,事实上根本没理解到真正的方法,也怪90%的脚本书上只讲语法,顺便鄙视下国内那些XX砖家写的书,不讲安全,导致... 11-05-15...
以前写的文章,今天整理到的,这是以前搞脚本安全的一些经验,扔出来,当时靠 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://rapidshare.com/files/131400238/php_bug_scanner.rar.html
三、mscasi
这个是微软出的,针对asp的,不过觉得此软件不怎么样,我扫了好几个有漏洞的都没扫出来,而且还是基于.net的。
见此文:
下载地址:
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好用一些。希望能帮助大家:)
上一篇: 浅析Linux系统后门技术和实践方法