PHP 应用SQL 注入符号拼接请求方法HTTP 头JSON编码类
#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
注入
