演示案例:
➢ WEB攻防-SQL注入-增删改查&无回显报错
➢ WEB攻防-SQL注入-HTTP头&UA&Cookie
➢ WEB攻防-SQL注入-HTTP头&XFF&Referer
案例说明:
在应用中,存在增删改查数据的操作,其中SQL语句结构不一导致注入语句也要针对应用达到兼容执行,另外也需要明白黑盒中功能对应的操作方法;除此之外部分业务应用功能也要做到了解(如接受IP,UA,COOKIE,Referer等头部),并且通过功能分析出对应SQL操作方法。
增删改查大致功能应用:
select查询:用户查询,新闻查询
delete删除:用户删除,新闻删除
update修改:用户修改,新闻修改
insert增加:用户注册,新闻添加
不同的功能对应不同的sql语句,我们要自己搞增删改查的sql语句怎么写,主要就是闭合!
UA(User-Agent):

场景1:对UA设备指定显示方案(简单说就是来做到多设备的兼容,ua展示设备型号、操作系统、浏览器内核、浏览器版本的信息,不同设备展示各自的画面,比如同一个网站,手机和电脑展示的效果就是不一样的。)
小迪这里的案例使用的是联合注入,抓包在ua拼接注入语句,先order by判断字段,然后union判断数据库、表、字段,然后就完事。执行找靶场练习,我使用的是好靶场,那个靶场和小迪讲的大部分一样,就是不能使用order by但是它已经告诉你sql语句了,我们可以使用union 1,2,3……直接去判断有多少个字段,后续操作就是一样的了
场景2:对UA设备进行信息记录(用户行为统计、数据分析统计)
比如访问来源进行统计:多少人手机访问,多少电脑;用 Chrome、Edge 还是微信内置浏览器。
这里是记录所以就不是select了,sql语句大概就是INSERT INTO access_log (ua,visit_time) VALUES (‘Mozilla/5.0 xxx Chrome’,’2026-07-29 16:00:00’);这样。在ua头闭合’)后使用堆叠注入或者报错注入等方式进行下一步
XFF(X-Forwarded-For):

场景1:限制IP访问功能
小迪演示的案例就是登录一个网站,他直接显示了一个你没有权限访问该网页,既然是讲xff肯定是ip被限制了,还有其他原因:1、登录了但是用户权限问题 2、没带Cookie、session等 3、Referer校验等等,很多的这里只是一部分。后面测试如果数据保内有xff那直接改值,没有xff就盲测自行添加键值,在值里面写注入语句
场景2:记录IP访问日志
同理这个就是insert,和上面ua一样
Cookie:

场景:开发人员在编写一个根据用户 ID(存储在Cookie中)来查询信息的功能
小迪这里的案例是访问一个网站,网站显示未发现用户登录访问,这都提示很明显了大致就能猜到是登录凭证的问题了。后端逻辑就是获取Cookie中的参数值,然后去数据库查询有就登录成功。我们抓包改包肯定要在Cookie那里写键值的,如果原本没有带,我们怎么知道键是什么,正常注册登录一个用户,抓一个包看数据包。
Referer:

网站期望登录请求来自于本站页面,如果Referer是其他来源,则拒绝登录(这个就是我现在要进行登录操作,登录框在login.html,当我点击发送,数据就会发送到后端登录接口,然后看Referer来判断你是不是在login.html进行的登录操作,而不是脚本登录)。
举一个最简单的例子:我在www.zhigao.xyz里有一个www.baidu.com链接,那么点击这www.baidu.com,它的header信息里就有: Referer=http://www.google.com
小迪案例就是一个网站只允许白名单ip域名登录,直接在Referer写注入语句就好,很简单就不多说了。
#实例应用:
1、增删改查-操作方法注入
SRC报告-广东工业大学sql注入
就是一个insert注入,和上面是一样的,就是个注册用户界面
2、HTTP头-cookie注入
SRC报告-吉林工业职业技术大学sql注入Bypass
这个案例也就是展示了个Cookie绕过,绕过语句什么的都是基本一样,就是多一个加长内容来绕过waf。
3、HTTP头-XFF注入
https://mp.weixin.qq.com/s/CiCxpHbW4IArB2nYSH-12w
https://mp.weixin.qq.com/s/_jj0o7BKm8CGEcn77gvdOg
4、加密还原+JSON注入
https://mp.weixin.qq.com/s/c3wji_LL_nuiskAKpg89pA
5、HTTP头-403绕过