Web
SQL注入
基础
UNION
Using Burp to Exploit SQL Injection Vulnerabilities: The UNION Operator - PortSwigger
绕过空格
写shell
Mysql注入写Shell读文件总结 - FreeBuf网络安全行业门户
获取本地文件
如何通过SQL注入获取服务器本地文件 - h2z - 博客园
文件上传
目标
获取webshell(具备上传自定义PHP文件并能远程执行的能力)
前提
-
可以上传脚本文件,且上传的文件能够被Web服务器解析执行(如PHP)
-
用户能够通过Web访问这个文件
-
知道文件上传到服务器后的存放路径和文件名称
攻击步骤
以某次参透测试比武为例:
-
获取信息:
-
对提供的接口进行测试:即反复上传各种文件,看结果如何。经测试发现gif文件是可以上传的,php文件是不能上传的
-
分析前端代码:即通过对HTML和JS文件的分析了解前端的“保护措施”,以及上传到的位置和名称。经分析发现前端没有保护措施,上传成功后的文件在当前目录下,且未改名,可直接通过浏览器访问
-
-
分析不满足的前提:通过获取的信息来看,我们可以知道前提1是不满足的
-
使不满足的前提也满足:即想办法绕过文件上传涉及的检查机制。这些检查点主要是(加粗的内容表示用上的内容):
-
客户端JavaScript检测(通常为检测文件扩展名)。绕过手段:
-
禁用浏览器端的js功能
-
Firebug修改源代码
-
BurpSuite抓包修改后缀名
-
本地表单提交
-
-
服务端MIME类型检测(检测Content-Type)。绕过手段:
- Burpsuite抓包绕过,修改Content-Type的值为image/gif
-
服务端目录路径检测(检测path参数相关的内容)
- 用0x00截断
-
服务端文件扩展名检测(检测跟文件扩展名相关的内容)
-
黑名单:
-
文件名大小写
-
名单列表绕过:如phtml、php3等(可结合.htaccess文件)
-
特殊字符绕过:仅Windows。如test.asp改为test.asp_
-
0x00截断绕过:仅asp
-
.htaccess文件攻击
-
其他漏洞利用:例如配合上传一个代码注入过的非黑名单文件,然后利用那个文件的漏洞来绕过黑名单
-
-
白名单:
-
0x00截断
-
其他漏洞利用
-
-
-
服务端文件内容检测(检测内容是否合法或含有恶意代码)
-
文件幻数检测(文件头):直接添加文件头即可绕过
-
jpg: FF D8 FF E0 00 10 4A 46 49 46
-
gif: GIF89a
-
png: 89 50 4E 47
-
-
文件相关信息检测:图像文件相关信息检测常用的就是getimagesize()函数,只需要把文件头部分伪造好就ok了,就是在幻数的基础上加了一些文件信息
-
文件加载检测
-
-
防御方法
-
检查是否判断了上传文件类型及后缀
-
定义上传文件类型白名单,即只允许上传的文件类型
-
文件上传目录禁止脚本解析
-
对上传后的文件使用随机数改名
详情参见
命令执行
写shell
文件包含
日志分析
Understanding the Apache Access Log: View, Locate and Analyze | Sumo Logic
PHP反序列化
越权漏洞
工具
burp
渗透测试神器之BurpSuite安装配置教程+入门教程 - 华为云
题目经历
实战经历
修订记录
修订时间 | 修订人 | 版本 | 说明 |
---|---|---|---|
TODO | wsxq2 | 1.0 | 初稿 |