信息收集
子域名
思路
- 暴力破解枚举子域
- 借助搜索引擎(site:域名)
- robots.txt、sitemap.xml
- DNS,域传送漏洞(暂时不懂)
- https证书错误泄露域名
- C段扫描
在线工具
- https://phpinfo.me/domain/
- http://tool.chinaz.com/subdomain
- http://z.zcjun.com/
- https://crt.sh/
- https://dnsdumpster.com/
OneForAll使用
业务范围
网站页面中直接寻找
- 办公OA、邮件系统、VON等
综合情报分析站点
whiis反查/备案信息/企业信息/域名所有者信息
whois/whois反差
ICP备案查询、⼯信部备案信息查询
天眼查、企查查
网络空间搜索引擎
公众号、APP、小程序
- 关注公众号查看最新发布的业务
- APP信息:七脉数据
- 小程序
端口扫描/C段
敏感路径
目录扫描
wfuzz
phpinfo页面
绝对路径
- _SERVER[“SCRIPT_FILENAME”]
- 应用场景:写shell和信息搜集
支持的程序
- 应用场景:查看支持的程序,寻找程序有没有漏洞可利用
泄露真实IP
- _SERVER[“SERVER_ADDR”]或SERVER_ADDR
- 应用场景:目标站点有CDN,且找到了目标站点的phpinfo页面
GOPHER
fastcgi
- FastCGI是一个可伸缩地、高速地在HTTP服务器和动态脚本语言间通信的接口
- 应用场景:目标站点开启fastcgi,可以尝试对应版本的漏洞
泄露缓存文件地址
- _FILE["file1"]
敏感配置
- allow_url_include:可用来远程文件包含
- allow_url_fopen:
- disable_functions:看禁用函数,绕过执行
- open_basedir:是否开启open _basedir
- short_open_tag:
接口
有价值的接口和路径
- 未授权直接访问的登录页面
- 无需登录即可操作的上传页面
- 编辑器
- 后台
- 历史版本
- 错误页面导致应用版本等信息泄露
- phpinfo页面
JS文件中的敏感接口泄露
- 工具:https://github.com/Threezh1/JSFinder
- 重点:不要放弃对403、404页面的尝试
- 还没具体测试,加油~
IIS短文件名漏洞
漏洞形成原因
- 为了兼容16位MS_DOS程序,Windows为文件名较长的文件(文件夹)生成对应的winddows8.3短文件名
特征
- 前6位字符直接显示,后续字符用~1指代
- 后缀名最长只有3位,多余的被阶段
利用原理
- 访问存在的短文件名,会返回404
- 访问不存在的短文件名,会返回400
利用语句
http://域名/*~1*/a.aspx
http://域名/cei*~1*/a.aspx
补充:无法裂解a.aspx存在的原因
利用场景
- 猜解后台地址
- 猜解敏感文件:备份的rar、zip、bak、sql文件
- 在某些情况下,甚至可以通过短文件名web直接下载对应的文件
利用工具
https://github.com/lijiejie/IIS_shortname_Scanner
报错信息
PHP常用方法
单引号报路径
在参数后面加单引号,如果对方网站没有做过滤,会显示报错信息,报错信息里包含当前网页的路径
- 举个例子:?id=1’
错误参数报路径
- 举个例子: ?id=-1
注入点可读取文件
- 页面存在sql注入点,通过读取文件的攻击手法来获取一些配置文件信息
参数变为数组
- 给参数后加中括号[]
- 举个例子:
修改请求方法
- 修改为PUT请求
- 会报错的原因可能是:put方法需要客户端提交资源全部信息
搜索引擎搜索错误页面和测试页面
错误页面
- site:目标站点 error
- site:目标站点 warning
- site:目标站点 "fatal error"
测试页面
- text.php
- ceshi.php
- phpinfo.php
- php_info.php
- 1.php
一些组件特性
Apache样例文件泄露
- 目标站点/examples/servlets/servlet/CookieExample
- 目标站点/examples/servlets/servlet/RequestHeaderExample
- 目标站点/examples/jsp/snp/snoop.jsp
- 目标站点/examples/async/async1
War文件信息泄露
- /config/config.properties
- /configure/configure.properties
- /applicationContext.xml
- /sysconfig.properties
- /web.xml
- /config.xml
- /jdbc.properties
Swagger
- /swagger-ui.html
- /swagger/swagger-ui.html
- /api/swagger-ui.html
- /v1.x/swagger-ui.html
- /swagger/index.html
Tomcat
- 假设访问某个目标站点的文件是jsp文件,则把jsp改为JSP可获得此jsp文件的源码
Nginx文件类型错误解析包路径
- 在图片后加/x.php,
源码泄露
版本控制器造成源码泄露
SVN源码泄露
- 利用手法:域名/.svn/entries
- 结果:可看到源码信息
GIT源码泄露
- 利用手法: 域名/.git
- 结果:获取网站代码的变更记录
.DS_Store文件造成泄露
- 说明:DS_Store是Mac下Finder(笑脸图标的那个软件)用来保存如何展示文件/文件夹的数据文件,每个文件夹下对应一个,用来存储当前文件夹的属性
- 利用手法:域名/.DS_Store
- 结果: 目录结构、源代码等泄露
WEB-INF/web.xml泄露
- 说明:WEB-INF是JAVA 的web应用安全目录。想在页面直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问
- 利用手法:域名/WEB-INF/web.xml
- 结果:敏感信息泄露
网站备份压缩文件
- 利用手法:域名/常用备份名称.各种压缩格式的后缀
- 结果:源码泄露
在线网盘造成源码泄露
暂留问题
信息泄露小结
什么样的信息泄露是有价值的呢?
人
- cookie信息
- 账号密码
- 身份信息
web应用
- 源码泄露
- 敏感接口
- 服务器和web应用信息