站内搜索写法的一个 SQL inject 漏洞
最近sql inject 可是说是红遍了整个中国,不知道多少网站在sql inject 面前轰然倒下,其实 Sql inject 在国外技术已经很成熟了,而国内则是在近一两年内慢慢走向成熟。在一个个惨痛的实例面前,脚本工作者不得不重视起来,最好的例子就是动网了。然而今天脚本是不是就很安全的呢。请看我对几个安全站点的测试结果。结果是令人吃惊的, 影子鹰, 华夏, 黑客动画吧 都存在着这个站内搜索的漏洞。
请看一段常见的站内搜索写法。
例一:
1 |
|
上面的这段来自影子鹰安全网, 也许看了人说没什么的啊,我也是这么写的,这和sql inject 有什么关系啊。
其实问题就出在这, 搜索类别的值是从客户端获得的,而且没有过滤。那么聪明的你是否想到了什么?
我们可以构造一个url http://www.cnhacker.cn/search.asp?s1=1
得到的结果是:
页面返回正常,得到一大堆的搜索结果。
提交 http://www.cnhacker.cn/search.asp?s1=1 and 1=1
返回正常
提交 http://www.cnhacker.cn/search.asp?s1=1 and 1=2
没有搜索到任何相关文章 ,请重新搜索
哈哈,可以注入!像这些安全站点密码一定n变态,还是用nb跑跑吧。后面也证明了我的想法是正确的密码n变态,还好没手工猜。拿到了管理员的密码,就是找不到后台郁闷。
例二:
1 |
|
上面代码来自黑客动画吧,令人吃惊的直接就是classID=
根本就没有过滤。分析完上面的代码,和其他的一些代码综合起来, 我们又可以构造这样的url:
http://www.hack58.com/Soft_Search.asp?Field=SoftName&ClassID=8
结果返回也是一定堆的搜索结果。。。
提交 http://www.hack58.com/Soft_Search.asp?Field=SoftName&ClassID=8 and 1=1
返回正常
提交 http://www.hack58.com/Soft_Search.asp?Field=SoftName&ClassID=8 and 1=2
产生错误的可能原因:
HOO,漏洞又出来了!
例三:
来个大家都知道的华夏黑客联盟,前段时间还被黑了一次。还是看代码吧,听说华夏用的是动力的商业版。可以华夏今天又上不去,反正原理是相同的。我把我构造好的url 给大家看
http://www.77169.org/soft1/search.asp?ss_name=winrar&sor=01
接下来要怎么发挥就看你们的了。
总结:这个漏洞应该有一定的普遍性,黑窝里安全站点都有这个问题,更别说是其他站点了。或许有些大虾早就发现了,
小弟就在这献丑一下了,第一次写文章,有所差错在所难免,欢迎和我联系。