第43天:PHP应用&SQL注入&符号拼接&请求方法&HTTP头&JSON&编码类

第43天:PHP应用&SQL注入&符号拼接&请求方法&HTTP头&JSON&编码类
Yatming的博客PHP-MYSQL-数据请求类型
1 | sql语句由于在黑河中是无法预知写法的,sql注入能发成功是需要拼接原sql语句,大部分黑盒能做的就是分析后各种尝试去判断。所以有可能有注入但可能出现无法注入成功的情况。究其原因大部分都是原sql语句的未知性导致的拼接失败!(其实说白了就是不知道怎么进行闭合) |
1 | 1、数字型 无符号干扰 |
总结:不同类型进行的sql,在闭合符号上面都会有区别,这里还是一些例子,实战情况下只能靠猜。
PHP-MYSQL-数据请求方法
1 | requext的提交方式,如果是这种方式的话,就不用管是什么提交方式,因为如果是这种方式的话,不管是get方式还是post提交方式,以及cookie的方式,都是可以正常接收的。 |
- User-Agent:使得服务器能够识别客户使用的操作系统,游览器版本等.(很多数据量大的网站中会记录客户使用的操作系统或浏览器版本等存入数据库中)
- Cookie:网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的
- X-Forwarded-For:简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP,(通常一些网站的防注入功能会记录请求端真实IP地址并写入数据库or某文件[通过修改XXF头可以实现伪造IP]).
- Rerferer:浏览器向 WEB 服务器表明自己是从哪个页面链接过来的.
- Host:客户端指定自己想访问的WEB服务器的域名/IP 地址和端口号
安全问题
试想一下,如果开发者在对网站进行编写的时候,在对一些敏感的页面,只能本地ip进行访问,或者白名单的ip进行访问,那么如果此时他将这个名单保存在数据库中,那么在判断是否白名单ip的时候就需要进行数据库查询,那么如果这里没有对数据库的数据进行过滤,那么就会出现注入。(这里需要注意的是,实际情况可能并没有直接在数据包中将ip这个参数进行体现,那么你在看到多次回显诸如,拒绝访问,或者需要内网ip进行访问这样的提示,那么你就可以判断这个有对IP进行限制,有可能需要手动加上XFF头,也就是:X-Forwarded-For
)
小tips
1 | 在闭合的时候不一定非要 # 或者 --+ |
数据格式
base64
1 | 就是在进行注入的时候,如果对方的传参的方式是使用例如 base64的方式 |
诸如这样的网站,那么你在进行传参的时候,也要进行base64编码才行。
JSON
1 | {"firstName":"Brett"} |
如果是这样的格式,那么在进行注入的时候,同样是在json的格式里面进行注入。
思路是一样的,只不过在json里面进行注入了而已。但是有时候需要注意,为了保证json格式的正确性,所这里需要闭合json的格式:
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果