分析渗透测试中的网站信息内容讲解

本文涉及的产品
.cn 域名,1个 12个月
简介: 上一节讲到渗透测试中的代码审计讲解,对整个代码的函数分析以及危险语句的避让操作,近期很多客户找我们Sine安全想要了解如何获取到网站的具体信息,以及我们整个渗透工作的流程,因为这些操作都是通过实战累计下来的竟然,渗透测试是对网站检查安全性以及稳定性的一个预防针,前提是必须要有客户的授权才能做这些操作!2.

上一节讲到渗透测试中的代码审计讲解,对整个代码的函数分析以及危险语句的避让操作,近期很多客户找我们Sine安全想要了解如何获取到网站的具体信息,以及我们整个渗透工作的流程,因为这些操作都是通过实战累计下来的竟然,渗透测试是对网站检查安全性以及稳定性的一个预防针,前提是必须要有客户的授权才能做这些操作!
327351_16101113114523
2.2. 站点信息

判断网站操作系统
Linux大小写敏感
Windows大小写不敏感
描敏感文件
robots.txt
crossdomain.xml
sitemap.xml
xx.tar.gz
xx.bak

确定网站采用的语言
如PHP / Java / Python等
找后缀,比如php/asp/jsp
前端框架
如jQuery / BootStrap / Vue / React / Angular等
查看源代码
中间服务器
如 Apache / Nginx / IIS 等
查看header中的信息
根据报错信息判断
根据默认页面判断
Web容器服务器
如Tomcat / Jboss / Weblogic等
后端框架
根据Cookie判断
根据CSS / 图片等资源的hash值判断
根据URL路由判断(如wp-admin)
根据网页中的关键字判断
根据响应头中的X-Powered-By
CDN信息
常见的有Cloudflare、yunjiasu
探测有没有WAF,如果有,什么类型的
有WAF,找绕过方式
没有,进入下一步
扫描敏感目录,看是否存在信息泄漏
扫描之前先自己尝试几个的url,人为看看反应
使用爬虫爬取网站信息
拿到一定信息后,通过拿到的目录名称,文件名称及文件扩展名了解网站开发人员的命名思路,确定其命名规则,推测出更多的目录及文件名
2.3. 端口信息
puzzle
2.3.1. 常见端口及其脆弱点

FTP 21
默认用户名密码 anonymous:anonymous
暴力破解密码
VSFTP某版本后门
SSH 22
暴力破解密码
Telent 23
暴力破解密码
SMTP 25
无认证时可伪造发件人
DNS 53 UDP
测试域传送漏洞
SPF / DMARC Check
DDoS(DNS Query Flood / DNS 反弹)
SMB 137/139/445
未授权访问
弱口令
SNMP 161
Public 弱口令
LDAP 389
匿名访问
注入
Rsync 873
任意文件读写
RPC 1025
NFS匿名访问
MSSQL 1433
弱密码
Java RMI 1099
RCE
Oracle 1521
弱密码
NFS 2049
权限设置不当
ZooKeeper 2181
无身份认证
MySQL 3306
弱密码
RDP 3389
弱密码
Postgres 5432
弱密码
CouchDB 5984
未授权访问
Redis 6379
无密码或弱密码
Elasticsearch 9200
代码执行
Memcached 11211
未授权访问
MongoDB 27017
无密码或弱密码
Hadoop 50070
除了以上列出的可能出现的问题,暴露在公网上的服务若不是最新版,都可能存在已经公开的漏洞

2.3.2. 常见端口扫描方式

2.3.2.1. 全扫描

扫描主机尝试使用三次握手与目标主机的某个端口建立正规的连接,若成功建立连接,则端口处于开放状态,反之处于关闭状态。 全扫描实现简单,且以较低的权限就可以进行该操作。但是在流量日志中会有大量明显的记录。

2.3.2.2. 半扫描

在半扫描中,仅发送SYN数据段,如果应答为RST,则端口处于关闭状态,若应答为SYN/ACK,则端口处于监听状态。不过这种方式需要较高的权限,而且部分防火墙已经开始对这种扫描方式做处理。

2.3.2.3. FIN扫描

FIN扫描是向目标发送一个FIN数据包,如果是开放的端口,会返回RST数据包,关闭的端口则不会返回数据包,可以通过这种方式来判断端口是否打开。 这种方式并不在TCP三次握手的状态中,所以不会被记录,相对SYN扫描要更隐蔽一些。

2.3.3. Web服务

Jenkins
未授权访问
Gitlab
对应版本CVE
Zabbix
权限设置不当
2.3.4. 批量搜索

Censys
Shodan
ZoomEye
2.4. 搜索信息收集

2.4.1. 搜索引擎利用

恰当地使用搜索引擎(Google/Bing/Yahoo/Baidu等)可以获取目标站点的较多信息。

常见的搜索技巧有:

site:域名
返回此目标站点被搜索引擎抓取收录的所有内容
site:域名 keyword
返回此目标站点被搜索引擎抓取收录的包含此关键词的所有页面
此处可以将关键词设定为网站后台,管理后台,密码修改,密码找回等
site:域名 inurl:admin.php
返回目标站点的地址中包含admin.php的所有页面,可以使用admin.php/manage.php或者其他关键词来寻找关键功能页面
link:域名
返回所有包含目标站点链接的页面,其中包括其开发人员的个人博客,开发日志,或者开放这个站点的第三方公司,合作伙伴等
related:域名
返回所有与目标站点”相似”的页面,可能会包含一些通用程序的信息等
intitle:”500 Internal Server Error” “server at”
搜索出错的页面
inurl:”nph-proxy.cgi” “Start browsing”
查找代理服务器
除了以上的关键字,还有allintile、allinurl、allintext、inanchor、cache等。

还有一些其他的tips

查询不区分大小写

  • 代表某一个单词
    默认用and

OR 或者 | 代表逻辑或
单词前跟+表强制查询
引号引起来可以防止常见词被忽略
括号会被忽略
搜索引擎的快照中也常包含一些关键信息,如程序报错信息可以会泄漏网站具体路径,或者一些快照中会保存一些测试用的测试信息,比如说某个网站在开发了后台功能模块的时候,还没给所有页面增加权限鉴别,此时被搜索引擎抓取了快照,即使后来网站增加了权限鉴别,但搜索引擎的快照中仍会保留这些信息。

另外也有专门的站点快照提供快照功能,如 Wayback Machine 和 Archive.org 等。

2.5. 目标人员信息收集
QQ_20190929100847

针对人员的信息收集考虑对目标重要人员、组织架构、社会关系的收集和分析。其中重要人员主要指高管、系统管理员、运维、财务、人事、业务人员的个人电脑。

最容易的入口点是网站,网站中可能包含网站的开发、管理维护等人员的信息。从网站联系功能中和代码的注释信息中都可能得到的所有开发及维护人员的姓名和邮件地址及其他联系方式。

在获取这些信息后,可以在Github/Linkedin等网站中进一步查找这些人在互联网上发布的与目标站点有关的一切信息,分析并发现有用的信息。 如有对此需求渗透测试服务检查网站漏洞可以联系专业的网站安全公司来处理解决,国内推荐Sinesafe,绿盟,启明星辰。

此外,可以对获取到的邮箱进行密码爆破的操作,获取对应的密码。

相关文章
|
2月前
|
机器学习/深度学习 人工智能 测试技术
深入分析自动化测试中的挑战与机遇
【5月更文挑战第27天】 随着软件开发周期的不断缩短和发布频率的增加,自动化测试成为确保软件产品质量的关键手段。本文将探讨在实施自动化测试过程中面临的主要挑战,包括维护成本、测试用例设计、与持续集成的融合等,并讨论如何通过最新的技术趋势如人工智能(AI)和机器学习(ML)来克服这些挑战,以及它们为自动化测试带来的新机遇。
|
8天前
|
数据库
基于PHP+MYSQL开发制作的趣味测试网站源码
基于PHP+MYSQL开发制作的趣味测试网站源码。可在后台提前设置好缘分, 自己手动在数据库里修改数据,数据库里有就会优先查询数据库的信息, 没设置的话第一次查询缘分都是非常好的 95-99,第二次查就比较差 , 所以如果要你女朋友查询你的名字觉得很好 那就得是她第一反应是查和你的缘分, 如果查的是别人,那不好意思,第二个可能是你。
25 3
|
13天前
|
测试技术 Python
我们假设要测试一个名为`http://example.com`的网站,并对其进行简单的GET请求性能测试。
我们假设要测试一个名为`http://example.com`的网站,并对其进行简单的GET请求性能测试。
|
1月前
|
存储 缓存 NoSQL
Redis性能测试实操记录与分析
Redis性能测试实操记录与分析
22 3
|
1月前
|
SQL 监控 中间件
【应急响应】拒绝服务&钓鱼指南&DDOS压力测试&邮件反制分析&应用日志
【应急响应】拒绝服务&钓鱼指南&DDOS压力测试&邮件反制分析&应用日志
|
29天前
|
机器人 定位技术 C++
技术笔记:ROS中测试机器人里程计信息
技术笔记:ROS中测试机器人里程计信息
|
1月前
|
安全 测试技术
软件测试项目式学习二(认识软件测试及软件测试分类与案例分析)
软件测试项目式学习二(认识软件测试及软件测试分类与案例分析)
36 1
|
2月前
|
监控 测试技术
深入分析软件测试中的风险评估与管理
【5月更文挑战第30天】 在软件开发生命周期中,风险无处不在,特别是在软件测试阶段。本文旨在探讨软件测试过程中如何有效地进行风险评估和管理,以确保软件质量和项目成功。文中将介绍风险评估的基本概念,提出一个结构化的风险识别和评估框架,并详细讨论如何通过定性和定量方法来管理测试风险。此外,文章还将展示一个案例研究,以说明所提策略在实际中的应用效果。
|
2月前
|
JSON 数据管理 测试技术
自动化测试工具Selenium Grid的深度应用分析深入理解操作系统的内存管理
【5月更文挑战第28天】随着互联网技术的飞速发展,软件测试工作日益复杂化,传统的手工测试已无法满足快速迭代的需求。自动化测试工具Selenium Grid因其分布式执行特性而受到广泛关注。本文旨在深入剖析Selenium Grid的工作原理、配置方法及其在复杂测试场景中的应用优势,为测试工程师提供高效测试解决方案的参考。
|
2月前
|
Android开发 数据安全/隐私保护 iOS开发
ios和安卓测试包发布网站http://fir.im的注册与常用功能
ios和安卓测试包发布网站http://fir.im的注册与常用功能
47 0
ios和安卓测试包发布网站http://fir.im的注册与常用功能