目录
基础知识
案例一: 信息收集-被动扫描-黑暗引擎&三方接口
案例二: 信息收集-目录扫描-Python 代理加载脚本
案例三: 信息收集-爬虫扫描-Awvs&Xray&Goby内置
基础知识
什么是 WAF ?Web Application Firewall ( web 应用防火墙),一种公认的说法是 “web 应用防火墙通过执行一系列针对 HTTP/HTTPS 的安全策略来专门为 web 应用提供保护的一款产 品。基本可以分为以下 4 种软件型 WAF以软件的形式安装在服务器上面,可以接触到服务器上的文件,因此就可以检测服务器上是否有 webshell ,是否有文件被创建等。 安全狗 d盾硬件型 WAF以硬件形式部署在链路中,支持多种部署方式。当串联到链路上时可以拦截恶意流量,在旁路监听模式时只记录攻击但是不进行拦截。 安全公司设备云 WAF一般以反向代理的形式工作,通过配置后,使对网站的请求数据优先经过 WAF 主机,在WAF 主机对数据进行过滤后再传给服务器 阿里云自带waf网站内置的 WAF就是来自网站内部的过滤,直接出现在网站代码中,比如说对输入的参数强制类转换啊,对输入的参数进行敏感词检测啊什么的
存在的问题: waf产品太多了,只能了解一两种,遇到别的没办法,各种waf绕过的难度也不一样
案例一: 信息收集-被动扫描-黑暗引擎&三方接口
黑暗引擎: Fofa Quake Shodan zoomeye 0.zone 等其他接口: https://forum.ywhack.com/bountytips.php?getinfo
案例二: 信息收集-目录扫描-Python 代理加载脚本
这里用安全狗开启防护
利用7kb爆破软件去爆破目录
爆破出来的目录全是错的,并且被拦截
安全狗里面有ip白名单,ua头有这些ua头会不拦截
各大ua头信息
https://blog.csdn.net/wsghjk/article/details/108436643
这里用百度的ua,安全狗也不会有限制登录,这里没爆破出来结果是可能不支持,头部信息需要完整
或者设置代理,设置代理的网站:
快代理 - 企业级HTTP代理IP云服务_专注IP代理10年
首次可以免费使用六个小时
配置
配置代理规则
爆破网站不会被拦截,这里无法通过代理连接是因为,要爆破的地址是虚拟机内网地址,而这个代理地址是公网地址 ,主要学习配置的思路
为了确定有效这里直接把代理关了,直接拦截
这种方式爬不下来,需要包含ua头才能爬下来,这里用python爬
import requests
import time
headers={
'Connection': 'keep-alive',
'Cache-Control': 'max-age=0',
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36',
'Sec-Fetch-Dest': 'document',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'Sec-Fetch-Site': 'none',
'Sec-Fetch-Mode': 'navigate',
'Sec-Fetch-User': '?1',
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7',
'Cookie': 'safedog-flow-item=BA0A0347121B222033EA7279CF5DAF15',
}
for paths in open('php.txt',encoding='utf-8'):
url='http://192.168.172.181/sqli'
paths=paths.replace('\n','')
urls=url+paths
proxy = {
'http': 'm829.kdltps.com:15818',
}
try:
code=requests.get(urls,headers=headers,proxies=proxy).status_code
#req=requests.get(urls, headers=headers, proxies=proxy)
#print(urls)
#print(req.text)
#time.sleep()
print(urls+'|'+str(code))
if code==200 or code==403:
print(urls+'|'+str(code))
except Exception as err:
print('connecting error')
time.sleep(3)
爬取不了是由于公网代理,如果能买一台服务器搭建该网站就ok
案例三: 信息收集-爬虫扫描-Awvs&Xray&Goby内置
awvs设置代理
xray设置代理
或者利用proxy设置代理
goby设置代理