F12信息收集

简介:

信息收集(Information Gathering),是指通过各种方式以及借助相关工具来尽可能多地获取目标站点的信息,是渗透测试过程中所需完成的第一步,也是非常重要的一步。在web渗透测试中,信息收集是必不可少的一个环节,信息收集的质量的好坏在很大程度了决定了后期的渗透测试的效果,充分的信息收集往往能起到事半功倍的作用,也可能是后期渗透中起关键作用的一个入口,本篇文章主要是根据渗透实战来介绍F12信息收集以及相关技巧!

F12 开发者工具是可帮助开发人员生成和调试网页的一套工具,主要包含elements、network、sources、timeliness、Profiles、resources、audits、console模块,如图1-1所示:

wKiom1nDGn2QtDIfAABKpUuwwQE770.jpg

图1-1        图1-1    F12开发者工具页面

F12开发者攻击是我认为最基础的信息收集,也是最简单、最快捷的信息收集,通过F12我们可以收集到很多不在明面上面的信息,主要包括注释信息收集、hidden信息收集、相对路径信息收集、webserver信息收集以及JavaScript功能信息收集等。

1.1.1    注释信息收集

我们在前端访问的页面,在其页面源代码中往往会存在有注释信息,这些注释信息中往往会包含有很多敏感信息,可能是某个文件的下载链接,也可能是一些隐藏的功能模块,甚至更有可能是一些你意想不到的敏感信息。在F12的elements模块中我们可以逐级展开个节点来查看注释信息,但是这样效率实在是太低了,因为在这个模块我们是不能使用【Ctrl+F】搜索注释信息的,另外可以通过查看页面源代码来搜索注释信息,但是搜索出来的不是连续的,这样也不是很方便我们查看。

在F12中,我们可以点击右上角的show drawer标志(wKioL1nDGnfwsMXrAAABrAN06S8302.jpg)进行所有字符的搜索<!--,另外我们可以使用快捷键【Ctrl+shift+f】来快速进行搜索,即可把所有的注释信息搜索出来,如图1-2所示。通过这种方法我们就可以快速查看当前页面中的注释信息,通过本次我们可以获取到一张图片的路径<!-- <imgsrc="dvwa/images/RandomStorm.png" /> -->,有些管理管理员可能在部署网站的时候忘记关闭目录浏览功能,我们就可以通过访问images来看看是否开启了目录浏览,如果开启了目录浏览我们可以慢慢通过目录浏览来访问其他的很多敏感文件!如数据库文件、后台某些未授权页面已经某些备份文件等。

wKiom1nDGr2C1RPvAAAqQG0mhrU087.jpg

图1-2        图1-2    提取注释信息

玩过ctf的朋友都知道,在web项中刚开始学习的时候,第一题的flag多数都在页面源代码中的注释信息中,如图1-3,图1-4所示。

wKiom1nDGt3iXsDBAAA9lTR7z7E195.jpg

图1-3     图1-3     获取flag

wKiom1nDGvuDLwvKAAAq5wDw4LI008.jpg

图1-4        图1-4    获取flag

在实战中,我曾在注释信息中获取到文件下载的地址,进而获取了很多敏感信息,如姓名、身份证、电话、邮箱等我们通过这个这些信息可以制作具有针对性的字典,从而对后台管理进行暴力破解;也曾在注释信息中获取到一个忘记密码功能的连接,刚好这个忘记密码这个地方存在SQL注入,通过注入将发送的验证码发到本人的手机号上面,然后对root账号进行重置,通过登录后在文件上传的地方可上传webshell,前端校验,因此很容易绕过!

对于注释信息类的信息泄露,一是尽量删除前端显示的注释信息,二是不用的功能模块直接删除,不可通过注释的手段来进行隐藏!

1.1.2    hidden信息收集

在查看源代码时,我们会发现有些控件的type的值是hidden,代表该控件在页面中是隐藏的,不显示的,有些参数虽然是hidden的,但是依旧会提交到服务器,这也给了我们利用的机会,我们使用上面的搜索方法搜索hidden,如图1-5所示,即可查看所有type值为hidden的控件。

wKioL1nDGuHyaLjnAAAnGA9FcYE552.jpg

图1-5       图1-5     搜索hidden相关内容

我们可以通过删除hidden即可在页面中显示该控件,如图1-6所示,并且可修改对应的value的值。

wKiom1nDGy_SqIIuAAA7w7jk0Hk307.jpg

图1-6         图1-6   删除hidden

在实战中,我曾通过搜索hidden获取到重置别人的账号所发送的短信验证码,成功重置了该用户的密码,进而获取到该站点的登录访问权限,另外有一次由于hidden的这个参数依旧是提交到服务器的,而刚好这个参数是存在XSS漏洞,其余提交的显性参数是有了一定过滤的。

因此尽量不要使用hidden属性来隐藏敏感数据,如隐藏登录账户;发送的短信验证码禁止显示在页面源代码中。不管以何种方式,对于提交到服务器的参数切记都需要进行校验及过滤!

1.1.3    相对路径信息收集

相对路径信息收集,我主要是收集图片所在的相对路径,如图1-7所示,然后通过查找(locate或者find)对应图片的位置,结合收集的相对路径来进行获取我们想要的绝对路径,从而进行webshell的上传!

wKiom1nDG0ORSTh7AAAizpcuG0Y186.jpg

图1-7         图1-7   查看图片属性

另外我们还可以在Resource下的script中查看相关的js文件(如conf.js)来获取相对路径信息,可能某些链接就可以未授权访问,从而我们可进行进一步的利用,如图1-8所示!

wKioL1nDGyaC04GpAAAfqqpN8g8108.jpg

图1-8        图1-8    查找其他页面

在实战中,我经常使用这种方法进行查找物理路径来进行上传webshell,尤其是结合一些命令执行工具来进行使用,可能你会问,都有命令执行了,干嘛还去上传webshell,其实这也是由于每个工具总会有一定的缺陷,导致不是所有命令都能执行,即使你是root权限,这时就需要上传一个功能强大的webshell进行利用,下载文件等!另外我曾遇到过,就是图片的这个路径逐级删除,就会直接获取到后台地址!

1.1.4    webserver信息收集

webserver信息收集主要是收集web服务器的一个部署情况,是使用什么框架搭建的,是Apache,还是Nginx,或是其他的,网站是什么脚本语言开发的,是asp,还是PHP等信息,这些信息我们可以使用F12进行简单的查看。

首先我们定位到F12的network模块,选择doc(文档,document)进行筛选,然后使用F5进行刷新获取数据,如图1-9所示:

wKiom1nDG3LQugK6AABlF65kBpY918.jpg

图1-9       图1-9     选择network模块进行筛选

此时我们点击下面文档进行查看详细信息,可以查看到该网站是使用Apache搭建的,并且版本是2.4.23,使用的是windows系统,开放脚本是PHP,版本是5.4.45等信息,如图1-10所示,另外在这里也可以看到网站的cookie,如果在这里你发现cookie中含有admin=0,或者flag=0的这类标志,你就可以使用burpsuit进行抓包进行截断改包,将0改为1可能就可以直接进入到系统中了!

wKiom1nDG_TBfsehAABys3GJ6gI567.jpg

图1-10       图1-10    查看webserver信息

webserver信息对于渗透来说是很重要的,通过获取的版本即可查找对应的漏洞进行利用,从而提高渗透的效率!因此网站管理员在部署网站的时候,切记进行安全配置,隐藏此类信息,或者修改此类信息进行干扰攻击者!如在php.ini中设置expose_php = Off来隐藏PHP版本信息,将下面两行添加到Apache配置文件(vi /etc/apache2/apache2.conf)底部,最后一行,即可隐藏Apache banner信息!

1
2
ServerSignatureOff
ServerTokensProd

1.1.5    JavaScript功能信息收集

JavaScript信息收集主要是看看某些功能是不是前端js校验,如图1-11所示,如果是前端校验的我们可以通过禁用js或者直接使用burpsuit进行更改数据包进行相关绕过。另外还可以去资源模块(Resource)看看有没有可利用的js文件,比如conf.js,里面可能会涉及到一些暗藏的链接等敏感信息。

wKioL1nDG-nhx77bAABF_jyZi0s007.jpg

图1-11      图1-11     JavaScript信息查看

在渗透实战中,如果上传点是前端校验的,那么我们可以禁用js来进行webshell的上传,另外有时在登录页面你可以禁用js之后,然后使用任意账户密码登录即可成功进入到系统中,这个我也只遇到过一次!所以开发者做相关校验的时候,切记在前端的一切校验都是不安全的,尽量前端(客户端)和后端(服务器端)一起校验和过滤!

1.1.6   本文简单总结

本文主要是简单介绍了F12开发者工具,如相关功能模块和基本使用,以及使用F12进行信息收集的相关利用和在渗透实战中的个人的一些相关小技巧,通过F12信息收集我们可收集到很多隐藏起来的敏感信息,如注释信息、webserver信息,而这些敏感信息往往可对后期的渗透起一定的辅助作用。如果你还有更好的F12功能,烦请多多指教,谢谢!



本文转自 eth10 51CTO博客,原文链接:http://blog.51cto.com/eth10/1967357

相关文章
|
Linux 应用服务中间件 虚拟化
Linux系列——VMware虚拟机配置端口转发(端口映射),实现远程访问
Linux系列——VMware虚拟机配置端口转发(端口映射),实现远程访问
|
网络协议 Docker 容器
Docker容器内不能联网的6种解决方案
Docker容器内不能联网的6种解决方案   注:下面的方法是在容器内能ping通公网IP的解决方案,如果连公网IP都ping不通,那主机可能也上不了网(尝试ping 8.
13858 2
|
11月前
|
JSON API 数据库
Python 调用 Ozon 商品详情 API:请求构造与 JSON 响应处理完整案例
基于模拟数据演示的Ozon商品详情API完整处理案例已成功运行,生成结构化数据文件并完成解析验证。以下是关键实现总结与技术指导
|
机器学习/深度学习 存储 算法
机器学习面试笔试知识点-决策树、随机森林、梯度提升决策树(GBDT)、XGBoost、LightGBM、CatBoost
机器学习面试笔试知识点-决策树、随机森林、梯度提升决策树(GBDT)、XGBoost、LightGBM、CatBoost
2554 0
|
5月前
|
人工智能 弹性计算 前端开发
使用Hermes Agent与Claude Code构建AI协同开发团队:架构、部署与实战指南
在AI驱动开发的新时代,单一AI工具已难以满足全流程研发需求。Hermes Agent作为具备自进化、长记忆、任务调度能力的智能主控,搭配Claude Code强大的代码生成、调试、测试与闭环执行能力,可形成一套类似“技术主管+资深开发工程师”的协同工作模式。前者负责需求理解、任务拆解、流程调度、经验沉淀与交互确认,后者专注高质量编码、程序调试与逻辑实现,二者结合真正实现从需求到代码的端到端闭环。
1834 2
|
SQL 存储 Java
Hive教程(09)- 彻底解决小文件的问题
Hive教程(09)- 彻底解决小文件的问题
1884 1
|
机器学习/深度学习 人工智能 自然语言处理
AI技术如何重塑客服系统?解析合力亿捷AI智能客服系统实践案例
本文探讨了人工智能技术在客服系统中的应用,涵盖技术架构、关键技术和优化策略。通过感知层、认知层、决策层和执行层的协同工作,结合自然语言处理、知识库构建和多模态交互技术,合力亿捷客服系统实现了智能化服务。文章还提出了用户体验优化、服务质量提升和系统性能改进的方法,并展望了未来发展方向,强调其在客户服务领域的核心价值与潜力。
1008 6
|
存储 算法 机器人
卡尔曼滤波 KF | 扩展卡尔曼滤波 EKF (思路流程和计算公式)
本文分析卡尔曼滤波和扩展卡尔曼滤波,包括:思路流程、计算公式、简单案例等。滤波算法,在很多场景都有应用,感觉理解其思路和计算过程比较重要。
5137 0
|
数据采集 Java API
淘宝商品详情获取api接口秘籍
本文介绍了获取淘宝商品详情的多种方法及其应用场景。首先,通过注册淘宝开放平台账号并创建应用,获取API接口权限。接着,详细讲解了使用Python调用API和Java编写爬虫两种技术手段,分别适用于对数据准确性和灵活性有不同要求的场景。案例分析展示了电商商家和市场分析师如何利用这些技术优化运营和洞察市场趋势。最后,强调了遵守平台规则的重要性,并提出了优化代码性能的建议。未来,随着技术进步,淘宝平台API功能将更加强大,数据分析也将更加智能精准。
920 11
|
JSON API 网络安全
App数据的爬取
App数据的爬取
2332 3

热门文章

最新文章