SQL注入-HTTP头的一些注入

SQL注入-HTTP头的一些注入

原理:

有时因为需要,会将客户的请求头中一些数据与数据库进行交互,比如用户的cookie,统计用户点击链接的来源referer,统计用户操作系统User-Agent,和用户的真实地址X-Forwarded-For,忘记对其添加过滤,就造成了注入漏洞。

http头:

POST /Less-20/index.php HTTP/1.1
Host: 192.168.0.102:8888
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:103.0) Gecko/20100101 Firefox/103.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 38
Origin: http://192.168.0.102:8888
Connection: close
Referer: http://192.168.0.102:8888/Less-20/index.php
Upgrade-Insecure-Requests: 
X-Forwarded-For:127.0.0.1
Cookie: uname=admin

uname=admin&passwd=admin&submit=Submit

其中,user-agent,cookie,x-forwarded-for,referer都有可能存在注入。

http头的注入其实是和普通注入一样的,只不过需要借助抓包工具进行注入。

我们以Cookie做例子:

先进入sqli-labs第20关的文件夹,查看index.php文件:

image-20220816172731964

可以看到,变量$cookee拿到了用户cookie并且没有做任何过滤就放到SQL语句中执行。

接下来我们回到页面中,先正常登录账号密码都是admin:

image-20220816173617922

这是正常登陆后的页面:

image-20220816173704701

之后我们打开burpsuite,浏览器代理转发到burp,并且开启拦截模式:

image-20220816173900490

image-20220816173921643

我们再刷新页面,就会抓到带有Cookie的包:

image-20220816174035535

按Ctrl+R键将包发送到重发器,并将cookie改为uname=admin'+and+'1'#uname=admin'+and+'0'#:

image-20220816174557153

image-20220816174627575

我们发现页面发生变化,存在SQL注入(注:+号为空格#号为注释符,也可以用--+做注释)。

所以说http,post注入和get注入方法是一样的,只不过get注入在URL上传递payload,而post需要抓包传递payload。

接下来尝试爆出敏感数据:因为发现页面上有回显所以我们尝试联合注入:

payload:Cookie: uname=-admin'+union+select+1,database(),user()--+:

image-20220816175225153

得出数据库名称为security,用户名为root。

我们将cookie改为admin'发现有报错,所以我们还可以尝试报错注入:

image-20220816181801423

payload:Cookie: uname=admin'+and+(updatexml(1,concat(0x7e,(select database()),0x7e),1))#:

image-20220816182202681

用报错注入是同样可以的。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小洋葱头头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值