【整理】【信息收集】web渗透测试

news/2024/10/5 11:21:19
一、WAF探测1.1 什么是WAF1.2 WAF常见的部署方式:1.3 WAF的作用1.4 如何触发waf1.5 WAF的分类1.6 如何探测WAF二、操作系统识别三、Git信息收集3.1 Git信息泄露原理3.2 github搜索技巧3.3 Git信息泄露利用方式

原创 LULU 红队蓝军

一、WAF探测

1.1 什么是WAF

Web应用程序防火墙(也称为:网站应用级入侵防御系统。英文:Web Application Firewall,简称:WAF)是一种用于保护Web应用程序的安全设备。Web应用程序是指通过Web浏览器或其他Web客户端访问的应用程序。

1.2 WAF常见的部署方式:

1.3 WAF的作用

WAF的目的是保护Web应用程序免受黑客、网络攻击和数据泄漏等安全威胁的攻击。
WAF可以过滤HTTP/HTTPS协议流量,防护Web攻击,但不能过滤其他协议流量,如FTP、PoP3协议。

WAF主要是通过内置的很多安全规则来进行防御。

1、流量识别
WAF识别来自客户端的请求,并对请求进行分析。WAF可以检查请求头、请求体、Cookie、URL参数等信息,并识别其中的攻击。2、攻击检测
WAF对识别的请求进行攻击检测。WAF可以使用多种技术来检测攻击,例如正则表达式、特征匹配、行为分析等。WAF可以检测多种攻击,包括SQL注入、XSS、CSRF、命令注入等。3、攻击响应
WAF根据检测结果采取相应的措施,例如拦截请求、阻止访问、记录事件等。WAF可以使用多种技术来响应攻击,例如重定向、报错、拦截等。4、对Web应用进行安全审计
WAF记录所有请求和响应的详细信息,包括请求头、请求体、响应头、响应体等。WAF可以将日志发送给中央日志管理系统,以便进行分析和审计。5、阻止SQL注入、xss、csrf、rce、源码/错误信息泄露、文件包含漏洞进行攻击、PHP代码注入、利用Shellshock漏洞进行攻击、利用Session会话ID不变的漏洞进行攻击、根据判断IP地址归属地来进行IP阻断等

1.4 如何触发waf

1、关键字:比如SQL注入漏洞SELECT、 UPDATE、DELETE、DROP、 UNION、 OR、AND、sleep、 #、 '、 " 、;等
2、违反内容安全策略(CSP):尝试违反Web应用程序设定的内容安全策略
3、异常流量模式:如DDoS攻击,通过发送大量请求来攻击器。
4、使用特定的HTTP方法:如使用不常见的HTTP方法可能被WAF视为可疑行为。
5、请求参数异常:如参数名或值过长,或者包含不寻常的字符组合。如:本地文件包含漏洞 file=../../../../../etc/passwd
6、数据包大小异常:发送超出正常范围的数据包大小,可能会触发WAF的规则。
7、使用黑名单中的User-Agent:某些User-Agent字符串可能与已知的爬虫或恶意工具相关联。

1.5 WAF的分类

硬WAF

1、硬件WAF通常是一种独立设备,由厂商安装,它可以与网络交换机、路由器等设备集成,拦截来自外部网络的流量,并对Web应用程序进行保护
2、适用于高流量的Web应用程序

软WAF

1、软件WAF通常是一种安装在服务器上的应用程序,可以通过修改Web服务器或代理服务器的配置文件实现。软件WAF可以与多种Web服务器和应用程序框架集成,部署在Apache、Nginx、IIS等Http Server中
2、适用于多种Web应用程序

云WAF

1、云WAF通常是一种基于云的服务,可以将Web应用程序的流量转发到云端进行处理。云WAF可以提供全球分布的节点,从而提高Web应用程序的可用性和性能。市面上常见的阿里云、腾讯云、华为云、百度云等
2、适用于高可用性和高性能的Web应用程序

常见waf厂商

国内:宝塔、安恒,绿盟,启明星辰,360磐云、长亭、安全狗、阿里云、腾讯云、华为云、百度云国外:飞塔,梭子鱼,Imperva

1.6 如何探测WAF

WAFw00f

介绍:WAFw00f是一个用于探测网站是否存在Web应用程序防火墙的工具,它通过发送正常和异常的HTTP请求,结合特征分析和算法推理,来识别不同类型的WAF用法:wafw00f https://www.xxxx.com

namp

介绍:网络扫描工具,它包含了一些WAF指纹识别的脚本,可以用来探测WAF的存在用法:nmap www.xxx.com --script=http-waf-detect.nse

SQLMap

介绍:主要用于检测和利用SQL注入漏洞,但它也包含了一些WAF指纹识别的功能。用法:sqlmap -u "xxx.com?id=1" --identify-waf

go-test-waf

这是一个使用Go语言编写的WAF测试工具,可以自动测试WAF的拦截能力和规则配置。用法:通过DockerHub库直接获取,拉取项目库docker pull wallarm/gotestwaf

二、操作系统识别

常见的服务器操作系统:linux,windows

识别操作系统常见方法

1、看字母大小写windows对大小写不敏感,Linux敏感。

2、看ping值,Linux系统的TTL值为64,Windows系统的TTL值为128。(TTL表示本地主机通过网络连接目标主机时经过路由器的个数情况,因ping的域名不同导致2的N次方变化不同)

linux

windows

3、nmap -O ip或者域名 //对目标主机的操作系统进行扫描

4、抓包:某些中间件只能用于特定的操作系统,如IIS只能用于windows,nginx不能用于windows,通过应答包的server字段,我们能获取目标中间件信息,从而来判断目标服务器操作系统类型。

三、Git信息收集

在渗透测试的信息收集阶段,可以去Github搜索与目标有关的信息,开发人员将代码上传到代码库的时候,有可能连一些重要的配置信息也上传了。

比如将包含了账号密码、密钥等配置文件的代码上传了,导致攻击者能发现并进一步利用这些泄露的信息,就是一个典型的GitHub敏感信息泄露漏洞。

3.1 Git信息泄露原理

1、把私有仓库/隐私文件提交到了github

2、部署项目的时候,不小心把.git文件一起打包进去,放到web网站下,如.java,.class

.git/logs/HEAD 存储了git的log信息,可以找到历史的commit项
.git/index 缓存git add的文件,暂存区
.git/refs/stash git stash 把代码存入缓存区
.git/refs/heads/master 记录了master的commit的hash
.git/objects/pack/.pack

3.2 github搜索技巧

kali in:file    搜索文件中包含kali的代码
kali in:path    搜索路径中包含kali的代码
kali in:path,file    搜索路径,文件中包含kali的代码
filename:config.php language:php 搜索config.php文件,且语言为php
kali topics:>5 标签数量大于5
kali size:<1000    文件大小小于1000的(找字典文件)
kali stars:10..50    收藏数量在10到50间
kali pushed:>2021-08-25    搜索在2021年8月15号之后的
kali create:>=2021-06-01    创建时间
kali pushed:<2021-01-01 -language:java (-表示不要)

3.3 Git信息泄露利用方式

1、找到.git

  • 通过目录扫描来发现敏感文件和目录
  • 查看robots.txt文件,可能存在./git
  • 利用搜索引擎,intitle:"Index of /.git" 或者Google中搜索site:example.com inurl:.git

2、把.git下载到本地

使用http请求下载

- 如果找到了公开的.git目录,可以直接通过浏览器或命令行工具(如wget或curl)访问.git目录下的文件和子目录假设发现了公开的.git目录,其URL为 http://example.com/.git/
wget --recursive --no-parent --no-host-directories http://example.com/.git/

Git协议克隆仓库

假设要克隆一个名为 “example.git的仓库,URL 为https://github.com/username/example.git`,我们可以执行以下命令git clone https://github.com/username/example.git

使用专门的工具

有一些工具如`GitHack`、`GitDorker`等,它们专门设计用来利用`.git`目录泄露的问题,可以自动化下载和恢复Git仓库的过程。

手动下载

如果自动化工具不适用,可以手动浏览`.git`目录,逐个下载文件和目录。这通常涉及到下载`HEAD`、`config`、`index`、`logs`、`objects`和`refs`等关键组件

举例:结合google语法,GitHub上做信息收集。

以下是一个靶场DC7的网站

基于该信息,通过谷歌语法进行查询

通过GitHub,能够找到数据库的用户名和密码泄露

也能够将.git下载到本地

wget --recursive --no-parent --no-host-directories https://github.com/Dc7User/staffdb.git

❗注意:在没有明确授权的情况下,不应该尝试下载他人的.git目录。

参考🔗

https://mp.weixin.qq.com/s/KJ1SU3MrgAMVge-2FKwonQ

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/54831.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

RouteLLM:通过智能查询路由优化 AI 响应

在当今人工智能驱动的世界中,优化人工智能的使用至关重要。不同的 AI 系统 在能力和成本上各不相同,因此需要智能管理解决方案。RouteLLM 是一个创新 的框架,旨在动态地将用户查询路由到最合适的 AI 模型,确保成本效益和高质 量的响应。 什么是 RouteLLM? RouteLLM 作为 A…

vue3下拉菜单点击之后缓慢展开与缓慢关闭

利用 max-height 来实现下拉菜单的缓慢展开和关闭效果。通过设置一个固定的 max-height 值以及过渡效果,可以让菜单在展开和关闭时产生动画效果。 <template> <div class="dropdown"><div class="selected" @click="toggleDropdown&q…

我的奇妙屋

我的奇妙屋 实验一角开始发布

管理农业项目必备 10款项目管理软件评估和选择技巧

国内外主流的 10 款农业建设管理系统对比:PingCode、Worktile、建米农业工程项目管理系统、泛普软件的农业项目管理系统、开创云数字农业管理平台、Trimble Ag Software、Agworld、FarmLogs、Granular、Conservis。在管理复杂的农业建设项目时,选择合适的管理系统常常让人头疼…

第三周作业

1、在docker中分别以后台方式和交互方式启动centos,对比启动后的容器状态,实现退出容器也能保持其运行状态。 2、在docker并部署DVWA,要求:DVWA web 端口映射到8082,提供访问截图。 3、Mysql练习 (1)创建一个名为"magedu_C10"的数据库; (2)在magedu_C10数据…

任正非署名文章《星光不问赶路人》:没有退路就是胜利之路

华为心声社区以总裁办电子邮件形式,发布了任正非于2020年6月19日的讲话:《星光不问赶路人》,我看了好几遍,热血沸腾。“对未来科学的探索不停步,研发不停步,继续勇往直前。不能以后生存下来了,却看不见未来了。没有明天了,这样的生存是没有意义的。战略研究院要继续扩大…

nss第四页

1、[GDOUCTF 2023]EZ WEB 首先这题查看源码可以看到有个目录访问src这代码的意思就是,如果访问/super-secret-route-nobody-will-guess 的请求方法为put,那么就输出flag 所以就直接抓包然后改请求就行了2、[GDOUCTF 2023]泄露的伪装 这题的话,需要扫描目录访问www.rar,得到…

信奥赛一本通陈老师解题 1128:图像模糊处理

​【题目描述】给定n行m列的图像各像素点的灰度值,要求用如下方法对其进行模糊化处理: 1.四周最外侧的像素点灰度值不变; 2.中间各像素点新灰度值为该像素点及其上下左右相邻四个像素点原灰度值的平均(舍入到最接近的整数)。【输入】第一行包含两个整数n和m,表示图像包含像…