《Web安全基础》08. 漏洞发现
@
本系列侧重方法论,各工具只是实现目标的载体。
命令与工具只做简单介绍,其使用另见《安全工具录》。
1:漏洞发现
1.1:操作系统
相关资料:
Goby 官网:
https://gobysec.net
https://gobies.org
Goby 官方文档:
https://gobysec.net/faq
Nmap 官网:
https://nmap.org/
Nmap 漏洞扫描插件库 vulscan:
https://github.com/scipag/vulscan
Nmap 漏洞扫描插件库 vulners:
https://github.com/vulnersCom/nmap-vulners
《nmap 扩展漏洞扫描模块》:
https://www.cnblogs.com/shwang/p/12623669.html
国家信息安全漏洞共享平台(CNVD):
https://www.cnvd.org.cn
SeeBug:
https://www.seebug.org
Exploit-DB:
https://www.exploit-db.com
SearchSploit:
https://gitlab.com/exploit-database/exploitdb
1.2:WEB 应用
已知 CMS:
- 如 dedecms、discuz、wordpress 等源码结构。
- 针对此类源码程序的安全检测,要利用公开的漏洞进行测试。
- 若不存在漏洞,在有源码的情况下可采用白盒代码审计自行挖掘。
开发框架:
- 如 thinkphp、spring、flask 等源码程序。
- 安全测试思路:先获取对应的开发框架信息(名字,版本),通过公开的框架安全问题进行测试。
- 如不存在漏洞,在有源码的情况下可采用白盒代码审计自行挖掘。
未知 CMS:
- 如企业或个人内部程序源码,也可以是某 CMS 二次开发的源码结构。
- 测试思路:能识别二次开发就按已知 CMS 思路进行,不能确定二次开发就采用常规综合类扫描工具或脚本进行探测,也可以采用人工探测(功能点,参数,盲猜)。
- 同样在有源码的情况下也可以进行代码审计。
相关资源:
vulhub:
https://vulhub.org/
WPscan:
https://wpscan.com/
WPscan - github
https://github.com/wpscanteam/wpscan
CMSscan:
https://github.com/ajinabraham/CMSScan
1.3:APP 应用
思路说明:
- 反编译提取 URL 或抓包获取 URL,从而进行 WEB 应用测试。
- 如不存在 URL 或使用其他协议的情况下,需采用网络接口抓包进行数据获取,转为其他协议安全测试。
- APP -> WEB APP -> 其他 -> 逆向。
- 非逆向层面:进行抓包区分各协议。
- 逆向层面:提取 APK 代码层面数据。
相关资源:
《xray与burp联动被动扫描》:
https://www.cnblogs.com/L0ading/p/12388928.html
HTTP monitor / Reverse Proxy:Charles:
https://www.charlesproxy.com
WireShark 官网:
https://www.wireshark.org
1.4:API 接口 & 系统端口
API 接口安全测试:
- 根据应用自身的功能方向决定,目标需有 API 接口调用才能进行此类测试。
- 安全问题:自身安全,配合 WEB,业务逻辑等。
端口服务类安全测试:
- 根据信息收集,针对目标端口服务进行探测。
- 主要涉及攻击方法:口令安全,WEB 类漏洞,版本漏洞等。
- 一般在无其他漏洞的情况下选用该测试方案。
WSDL(Web Services Description Language,网络服务描述语言)是一门基于 XML 的语言,用于描述 Web Services 以及如何对它们进行访问。
1.4.1:API 关键字
可配合 shodan,fofa,zoomeye 搜索。
inurl:jws?wsdl
inurl:asmx?wsdl
inurl:aspx?wsdl
inurl:ascx?wsdl
inurl:ashx?wsdl
inurl:dll?wsdl
inurl:exe?wsdl
inurl:php?wsdl
inurl:pl?wsdl
inurl:?wsdl
filetype:wsdl wsdl
1.4.2:服务&端口
Web 服务类:
- Jboss
- WebLogic
- Wavsphere
- Glassfish
- Jetty
- Apache
- IIS
- Rrsin
- Nginx
- Tomcat
数据库类:
- MySQL
- MsSQL
- Oracle
- Redis
- Postgresql
- Sysbase
- Memcache
- ElasticSearch
- DB2
- MongoDB
大数据类:
- Hadoop
- Zookeeper
文件共享:
- FTP
- NFS
- Samba
- LDAP
远程访问:
- SSH
- RDP
- Telnet
- VNC
- Pcanywhere
邮件服务:
- SMTP
- POP3
- IMAP
其他服务:
- DNS
- DHCP
- SNMP
- Rlogin
- Rsync
- Zabbix
- RMI
- Docker
1.4.3:相关资源
《0day.today【一个0day漏洞交易市场】》:
https://mrxn.net/share/0day-today.html
《API 接口渗透测试》:
https://xz.aliyun.com/t/2412
《WebService中的WSDL详解》:
https://blog.csdn.net/wenzhi20102321/article/details/68486526
《什么是WSDL》:
https://blog.csdn.net/qq_32447301/article/details/79204311
A test site for Acunetix:
http://testaspnet.vulnweb.com
《通过搜索引擎快速寻找漏洞》:
https://www.cnblogs.com/sparename/p/16786149.html
2:总结
信息收集与利用:
- 首先识别网站是否有 cdn,waf 等产品,有则绕过。
- 收集网站的端口信息,真实 ip 地址,ip 绑定的其他域名。
- 网站敏感路径扫描。
- 域名 + 端口敏感信息扫描。
- ip + 端口敏感目录扫描。
字典不应该只是敏感路径,还应该有备份文件:zip、rar、tar、tar.gz 等格式文件。
漏洞发现:
- 系统漏洞发现主要借助于扫描工具。
- Web 漏洞利用主要借助目前市面上已知的 exp。
- APP 可以先将网址抓到,然后再做渗透。
- 接口服务链接丢到 AWVS 里面跑(或者其他扫描工具)。
我未成名卿未嫁,可能俱是不如人。
——《赠妓云英》(唐)罗隐