知识点:
1、PHP-MYSQL-SQL注入-数据请求类型
2、PHP-MYSQL-SQL注入-数据请求方法
3、PHP-MYSQL-SQL注入-数据请求格式
章节点
Web层面 :Web2.0 & Web3.0
语言安全:JS,ASP,PHP,NET,Java,Python等(包含框架类)
OWTOP10 :注入,文件安全,XSS,RCE,XXE,CSRF,SSRF,反序列化,未授权访问等
业务逻辑 :水平垂直越权,支付签约&购买充值,找回机制,数据并发,验证码&弱口令等
特殊漏洞 :JWT,CRLF,CORS,重定向,JSONP回调,域名接管,DDOS,接口枚举等
关键技术 :POP链构造,JS逆向调试,NET反编译,JAVA反编译,代码解密,数据解密等
Web3.0:未待完续筹备中...
演示案例:
PHP-MYSQL-数据请求类型
PHP-MYSQL-数据请求方法
PHP-MYSQL-数据请求格式
PHP-MYSQL-数据请求类型
SQL语句在黑盒测试中无法预知原始写法,注入成功的核心是正确拼接原SQL语句,未知的语句结构会导致注入拼接失败。
开发者对数据类型与SQL写法的差异,会形成4类注入场景:
- 数字型(无符号干扰)
select * from news where id=$id; - 字符型(有符号干扰)
select * from news where id='$id'; - 搜索型(有多符号干扰)
select * from news where id like '%$id%' - 框架型(有各种符号干扰)
select * from news where id=('$id');
select * from news where (id='$id');
PHP-MYSQL-数据请求方法
数据接收基于PHP全局变量:GET POST SERVER FILES HTTP头,常见HTTP头注入点说明:
- User-Agent:服务器识别客户端系统、浏览器版本,数据会存入数据库,可形成注入点
- Cookie:用户身份标识、会话跟踪数据,可带入数据库执行
- X-Forwarded-For(XFF):客户端真实IP,常用于IP记录/白名单校验,可伪造并实现注入
- Referer:页面来源地址,部分站点会记录入库
- Host:访问目标域名/IP,极少场景入库
GET有参数,POST无参数。GET和POST注入位置不一样
代码审计的时候可以注意,类似这种,你就知道请求方法,可以因地制宜。
可注入功能点
- 用户登录、IP校验场景
就是有些会在数据库中校验IP地址,然后我们在抓包的时候加入X-Forwarded-for字段,我们就可以利用这点进行SQL注入
源码 ↓
抓包 ↓
- 固定IP策略绕过、数据库IP白名单校验注入
PHP特性中的$_SERVER['HTTP_X_FORWARDED-FOR'],允许绕过,其他的不一定给你绕。源码↓
抓包,然后伪造IP:127.0.0.1
- 防注入IP记录入库(insert注入)
- 文件上传文件名写入数据库(insert注入)
PHP-MYSQL-数据请求格式
后端对传输数据的解析方式,会形成两类特殊注入场景:
- 统一格式传输(JSON)
数据以JSON格式传输,后端解析后带入数据库执行,存在JSON型SQL注入 json格式得这么注入:
正常格式就是用这个:
- 加密编码传输(Base64)
数据经Base64编码传输,后端解密后带入数据库,编码类注入需先编码payload再提交
字段加密了,你注入语句也得进行加密,要不然服务器解码解不出来就报错了
时间戳
可精准空降视频,需要直接点击,或者拖动
- 文档简述 ------00:00
- 演示案例:PHP-MYSQL-数据请求类型 ------00:02:31
- 演示案例:PHP-MYSQL-数据请求方法 ------00:19:01
- 演示案例:PHP-MYSQL-数据请求格式 ------01:17:01







