不懂原理也能当一名渗透测试人员,成为一代脚本小子的关键文章
渗透测试全流程
括号里为此步的推荐工具
第一步 简要了解
浏览整个网站(肉眼+burpsuite抓包)
- 网站是干扫描的
- 网站的大致结构
- 网站的主要功能
目光扫描,关注参数变化和页面跳转
本流程所用工具:抓包:burpsuit
第二步 信息收集(首要:google hacking)
网站信息
- cms版本,获取网站的目录结构、尝试获取exp\poc
google 某某cms exp/poc/exploit exploit-db.com cms - 网站结构 cms/目录爆破(7kbscan)
- 中间件 tomcat/jboss->jsp
- 数据库 mysql msssql
本流程可以适用全网站扫描器:awvs、nessue、xray 目录爆破不推荐御剑的原因是太老了,disearch都要好很多
服务器信息
- 端口扫描(hydra端口爆破、nmap、masscan),记住常见端口
- 操作系统(burpsuit)
- 旁站,真实IP,C段(IP反查等在线网站)
找不到后台怎么办?xss.xss打回含有后台路径
第三步 代码层漏洞检验
sql
手工注入
- 直接注入 Or 间接注入(二次注入)
- 数据库类型:mysql、sql server、access、oracle、mongodb数据库
- 注入语句:select、updata、insert、delete、limit之后、order by 之后
- 注入位置:get、post、http header
- 其他类型:base64注入、二次解码注入、宽字节注入、OOB-dns外带注入
- 扫描:sqlmap
注意站库分离
文件上传
手工上传 绕过验证:
- 绕过前端js:禁用js、抓包修改文件后缀
- mime-type验证:抓包修改content-type,image/jpeg,image/png,image/gif
- 文件头检验:1.抓包修改文件头:jpeg,png,GIF89a
2.图片马,绕过二次渲染马,免杀图片马(需要文件包含) - 黑名单白名单绕过,phtml这种
- 解析漏洞:.htaccess
漏洞较少,但危害极大
文件包含
- 分类:远程文件包含、本地文件包含
常规利用方式: - 包含日志文件
- php伪协议
命令执行
- 相关函数:system()、preg_replace()、exec()、shell_exec()、eval()、assert()
- 利用方式:管道符拼接、反序列化[struts2、weblogic、fastjson]
- 防御:过滤、disable_function
xss
- 利用方式:xsspt.com,beef
- 防御:htmlspecialchars()过滤
- xss打回内容带cookie和后台路径
csrf
- 原理:管理员正常登录网站后,在cookie有效期内,进入攻击者恶意构造页面,恶意页面利用该cookie执行管理员权限操作
- 别称:跨站请求伪造
- 跨域:同源策略
ajax无法跨域 自动表单提交 <img src><script src>
ssrf
- 服务端请求伪造
- 利用方式:xxe、远程文件包含、redis反弹shell
XXE
- 原理:xml外部实体注入
- 漏洞发现:抓包发现是xml格式
第四步 逻辑漏洞挖掘
第五步 代码审计
xss | sql注入 | 代码执行 | 命令执行 | 文件上传 | Other |
---|
echo | mysql_query | assert | passthru | fread | extract | print* | mysqli_query | eval | system | copy | parse_str | … | mysqli:query | preg_replace | popen | fuputs | unserialize | … | PDO:query | include* | shell_exec | unlink | … | | | require* | | | |
unlink是删除文件(任意文件删除漏洞)
后续更新内网渗透、日志分析、溯源、安全加固等内容
|