#PHP-MYSQL- 数据请求类型
SQL 语句由于在黑盒中是无法预知写法的, SQL 注入能发成功是需要拼接原 SQL 语句,
大部分黑盒能做的就是分析后各种尝试去判断,所以有可能有注入但可能出现无法注入成
功的情况。究其原因大部分都是原 SQL 语句的未知性导致的拼接失败!
由于开发者对于数据类型和 SQL 语句写法(框架写法)导致 SQL 注入拼接失败
1 、数字型 ( 无符号干扰 )
select * from news where id=$id;
2 、字符型(有符号干扰)
select * from news where id='$id';
3 、搜索型(有多符号干扰)
select * from news where id like '%$id%'
4 、框架型(有各种符号干扰)
select * from news where id=('$id');
select * from news where (id='$id');
#PHP-MYSQL- 数据请求方法(文件上传也可能触发sql注入 因为文件要进行数据库保存)
全局变量方法: GET POST SERVER FILES HTTP 头等
User-Agent :
使得服务器能够识别客户使用的操作系统,游览器版本等 . (很多数据量大的网站中会记
录客户使用的操作系统或浏览器版本等存入数据库中)
Cookie :
网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据 X
X-Forwarded-for :简称 XFF 头,它代表客户端,也就是 HTTP 的请求端真实的 IP, (通
常一些网站的防注入功能会记录请求端真实 IP 地址并写入数据库 or 某文件 [ 通过修改
XXF 头可以实现伪造 IP] ) .
Rerferer :浏览器向 WEB 服务器表明自己是从哪个页面链接过来的 .
Host :客户端指定自己想访问的 WEB 服务器的域名 /IP 地址和端口号
如功能点:
1 、用户登录时
2 、登录判断 IP 时
是 PHP 特性中的 $_SERVER['HTTP_X_FORWARDED_FOR']; 接受 IP 的绕过(绕过)
实现:代码配置固定 IP 去判断 - 策略绕过
实现:数据库白名单 IP 去判断(与数据库ip进行比较) -select 注入
实现:防注入记录 IP 去保存数据库(记录ip) -insert 注入
3 、文件上传将文件名写入数据库 -insert 注入