SQL注入二-PHP应用&SQL注入&符号拼接&请求方法&HTTP头&JSON&编码类

本文详细讨论了PHP与MySQL的数据请求类型、防止SQL注入的方法,如数字型、字符型、搜索型和框架型,以及如何利用GET/POST等方法进行用户验证,特别关注了IP验证中的X-Forwarded-For头和绕过策略。同时,强调了数据请求格式的统一性和安全性,如使用JSON和Base64进行加密传输。
摘要由CSDN通过智能技术生成

演示案例:

  • PHP-MYSQL-数据请求类型
  • PHP-MYSQL-数据请求方法
  • PHP-MYSQL-数据请求格式

#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-数据请求方法
全局变量方法:GET POST SERVER FILES HTTP头等
User-Agent:
使得服务器能够识别客户使用的操作系统,游览器版本等.(很多数据量大的网站中会记录客户使用的操作系统或浏览器版本等存入数据库中)
Cookie:
网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据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去判断-select注入
实现:防注入记录IP去保存数据库-insert注入
3、文件上传将文件名写入数据库-insert注入

#PHP-MYSQL-数据请求格式
1、数据采用统一格式传输,后端进行格式解析带入数据库(json)
2、数据采用加密编码传输,后端进行解密解码带入数据库(base64)

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值