背景:测试站点是ASP的程序,经测试 shownews.asp?id=61存在注入
GET方法 shownews.asp?id=61 and 4>1 返回警告
改成POST方法,仍然出现警告
最后,测试cookie注入,如下图,在控制台提交document.cookie="id="+escape("61 and 4>1"),新增cookie项id,然后再次访问shownews.asp 发现返回正常也没有出现注入警告。
到这一步你可以手工注入,也可以使用多年前的“寂寞的刺猬”开放的中转注入或者使用sqlmap。
这里我使用的就是sqlmap
sqlmap -u http://www.test.com/shownews.asp --cookie "id=61" --level 2
很快就跑出了结果
最后分析一下所谓的原理
服务端使用了$id = $_REQUEST[‘id’]来获取参数值,然后来看一下w3chool对ASP REQUEST对象的解释:
问题出现在,程序员没有考虑到恶意用户会通过cookie来提交参数,因此没有调用防注入程序来过滤cookie部分,从而导致cookie注入的发生。
再来说一下那条sqlmap命令,level值至少为2sqlmap才会测试cookie,看官方文档的说明:
本文通过一个具体的ASP程序示例,展示了如何利用Cookie注入漏洞进行攻击,并使用sqlmap工具进行自动化漏洞探测。分析了程序员忽视Cookie参数导致的安全隐患。
4689

被折叠的 条评论
为什么被折叠?



