莫张周刘王 发表于 2024-11-5 21:36:57

基于ctfshow的信息网络思绪与CTF实战

本文靶场来源于CTFshow,并不完全按照靶机的顺序排列,而是以测试操纵为导向,按博主个人理解排列。
1. 前端源码

在CTF中,先看源代码是个好风俗,出题者经常会在源代码中以解释的情势提供一些提示
web 1——关注页面源代码

https://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211236304-720656758.png
web 2——js前台拦截源代码检察

本题利用js拦截以下内容

[*]window.oncontextmenu = function(){return false};:禁用右键菜单,用户右键点击时不会弹出菜单。
[*]window.onselectstart = function(){return false};:禁用文本选择,用户无法通过拖动鼠标选择页面上的文本。
[*]window.onkeydown = function(){if (event.keyCode==123){event.keyCode=0;event.returnValue=false;}};:禁用F12键(通常用于打开开辟者工具),用户按下F12时不会有任何反应。
当然,前端拦截等于没有拦截,有很多方法都可以直接绕过
法一
ctrl u 快捷键打开源代码
法二
url前加view-source:检察源代码
法三
burp抓包看返回包
法四
使用浏览器开辟工具打开
https://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211306646-1529176200.png
法五
ctrl s生存到本地检察
web 19——密钥补药放前端呐

源代码中给出账号密码了,提交了一下发现不行
https://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211329078-1451606408.png
猜测他的逻辑应该是,前端输入账号密码后,密码被加密然后通过数据包传给后端,此处我输入的密码是111,发的数据包如下,显然是加密了。于是源代码中的密码应该是被加密过的,因此把上面的密码粘到burp里就行
https://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211341192-660383817.png
web 20——JS前端代码

有经验的师傅一看就知道本题是全前端实现的
https://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211356940-701166684.png
找到这个判断,有一个Unicode编码的内容
https://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211412066-1457045088.png
在控制台直接输出内容,提示110.php
https://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211424751-1859621822.png
2. 数据包

当没有思绪的时候,不妨尝试抓个包。常用抓包工具:浏览器的网络功能、burpsuite等
web 3——抓包是个好风俗

看了源代码什么都没有,所以只能抓个包看看
https://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211441985-3214826.png
web 10——cookie泄漏

抓包看一下,在cookie看到flag
https://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211453782-933679898.png
3. 目录扫描

目录扫描是信息网络必不可少的一步,差别的敏感文件决定了差别的后续渗出思绪。
常用的目录扫描工具dirsearch,根本语法为
python dirsearch.py -u http://xxxx/3.1 robots.txt

robots.txt 是一个用于规定爬虫可以访问网站上的哪些网址的文本文件。必要注意的是,它只是提示合法用户不要爬取这些目录,但并不禁止对目录的访问。通过robots.txt,攻击者可能得到一些敏感目录。
web 4——robot目录泄漏

使用dirsearch扫描目录,发现存在robots.txt文件,它禁止爬虫对/flagishere的访问,访问/flagishere,得到flag
https://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211511113-1340370758.png
3.2 源码文件泄漏

源码文件泄漏对于渗出测试具有非常重大的意义,这意味着测试者可以进行白盒审计乃至直接利用已知的nday漏洞直接对网站发起进攻。
web 5——phps文件泄漏

本题考查的是phps文件泄漏源码。phps文件就是php的源代码文件,通常用于提供给用户(访问者)检察php代码,由于用户无法直接通过Web浏览器看到php文件的内容,所以必要用phps文件代替。比较麻烦的是,博主试了几个目录扫描字典都不包含index.phps ,当然这也是合理的,由于真实生产情况下并极少使用index.phps的需求,因此只能作为一个可能的思绪,师傅们也可以把这些遇到的扫不出来的目录添加到字典中去,做好积聚。
本题的解题直接访问index.phps获得flag即可
web 6——zip备份文件泄漏

dirsearch一扫,发现/www.zip
https://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211525103-600135994.png
访问路径,下载了www.zip,打开里面有个fl000g.txt文件,点进去发现里面的flag是空。转换一下思绪,www.zip应当是网站的源码,因此这个路径在服务中可能也存在,访问/fl000g.txt,得到flag。这里下载的源码实际上提示了目录,而非直接用下载下来的文件。
web 7——git泄漏

Git泄漏是指在使用Git版本控制系统时,由于设置不当大概操纵失误,导致敏感信息(如密码、密钥、源代码等)被不测地上传到公开的代码仓库大概其他公开可访问的地方,从而被未授权的人获取到。
dirsearch一扫,发现.git,本题考察了git泄漏,但是本题很简单,直接访问./git就给了flag
https://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211541046-2140479730.png
但是一般不会这么容易,增补一下之后的可能步调
这里必要借助BugScanTeam的githack工具,给个地址,扫描下令如下,注意最后要加上./git,推荐在kali linux上执行,然后就能在dist文件夹中看到抓下来的git了
python2 GitHack.py https://xxx/.git在抓下来的网页文件夹中执行一些git下令来得到更多源码信息,如:
git log 查看之前都进行了什么操作
git diff xxxx xxxx 查看版本内容的不同之处web 8——SVN泄漏

造成SVN源代码漏洞的主要原因是管理员操纵不规范,在发布代码时未使用导出功能,而是直接复制代码文件夹到WEB服务器上,导致.svn被暴露于外网情况
dirsearch一扫,发现/.svn,访问该地址直接就能得到flag。
https://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211554549-547658364.png
这题也是比较简单,后续利用发起参考ctfhub的svn泄漏靶机。
3.4 数据库泄漏

web 17——备份sql文件泄漏

dirsearch一扫,找到备份sql文件,下载下来打开找到flag
https://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211605656-428381215.png
https://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211615881-1250711977.png
web 20——access数据库泄漏

用dirsearch的递归扫描-r,即当扫出一级目录后会再在一级目录后跑字典
python dirsearch.py -u http://xxxx/ -rhttps://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211628943-2132336701.png
https://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211639578-805553850.png
3.5 缓存文件泄漏

在使用vim进行编辑时,会产生缓存文件,操纵正常,则会删除缓存文件,如果不测退出,缓存文件保留下来,这是时可以通过缓存文件来得到原文件,以index.php来说,第一次退出后,缓存文件名为 index.php.swp,第二次退出后,缓存文件名为index.php.swo,第三次退出后文件名为index.php.swn
web 9——vim缓存泄漏

这题直接尝试访问index.php.swp即可,但是同样有一个问题就是dirsearch扫不到这个文件,由于dirsearch不扫描暂时文件以加快扫描速率,且缓存文件泄漏的可能性也比较低,因此本题也仅作为可参考的思绪。
3.6 探针泄漏

PHP探针是用来探测空间、服务器运行状况和PHP信息的。探针可以实时检察服务器硬盘资源、内存占用、网卡流量、系统负载、服务器时间等信息,对开辟具有重大资助,但是如果在网站上线后未将探针删除,就有可能导致信息泄漏。
web 16——探针泄漏

dirsearch扫一下没扫出来,不外有师傅说用御剑的字典可以
访问/tz.php
https://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211659909-160565181.png
找到phpinfo
https://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211708190-2111921563.png
找到flag
https://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211716599-1407709246.png
3.7 第三方组件默认设置

在开辟过程中,引入一些第三方组件实现某些功能是一种高效可行的思绪,但是一些开源的第三方组件可能存在一些已知的nday,如果不对这些部门加以限制,将导致严峻的安全事故
web 14——editor默认设置

dirsearch一扫,发现/editor目录
https://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211730185-1972821619.png
根据提示小0day:某编辑器最新版默认设置下,如果目录不存在,则会遍历服务器根目录,随便点一个上传文件的功能,可以直接访问文件空间
https://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211739137-2030279557.png
发现flag的路径,访问该路径获得flag
https://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211747187-1110051887.png
4. 社会工程学

社会工程学是一种通过操控和影响人类行为的技术,用于获取敏感信息、访问权限或进行其他欺诈行为。它通常依赖于对人类生理的理解,利用信任、恐惧或好奇心等情绪因素来欺骗目标,以到达攻击者的目的。
web 12——敏感信息公布

在网站上发现了作者的联系方式,很多人都会使用姓名、电话、生日等作为自己的密码,为弱口令登陆提供了可能
扫描一下目录,发现了/admin存在登录提示,用户名为admin,密码为电话,乐成登录
https://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211756853-1515264971.png
web 13——技术文档泄漏

在现真相况中,我们可能通过某些方式获得某些内部人员的信任,从而诱骗对方在向我们哀求资助时发送技术文档,如果对方为删除其中的敏感信息,就为我们的渗出提供了可能
当然这题比较容易,文档直接放在了页面中,直接登陆获得flag
https://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211806678-151656931.png
https://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211820138-732632221.png
https://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211832912-262246026.png
web 15——密码逻辑脆弱

页面中泄漏了作者的qq邮箱
https://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211844009-225414773.png
目录扫描找到/admin登陆界面,输了一下qq邮箱,显示密码错误,看到下面有个忘记密码功能,试一下
https://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211852720-928570831.png
要求输入所在地
https://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211901627-887103415.png
看一眼他的QQ,是西安
https://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211912247-998182554.png
https://img2024.cnblogs.com/blog/3510591/202411/3510591-20241105211921200-1536853966.png
5. 企业资产网络

在信息打点的初期,我们会对企业信息布局进行网络,比如说目标公司的主站域名、控股子公司的域名等等。为了获得更多域名与ip段,我们会通过查找dns的历史记录,可以得到详细的域名解析与ip地址信息,从而扩大网络的信息。关于这部门更详细的信息可以参考红队从资产网络到打点
web 11——DNS历史记录查询

本题模拟的实际上是域名的自动被动的网络,不外这题的域名已经失效了,就提供使用nslookup工具查询的下令,也可以使用一些在线网站。
nslookup -query=any flag.ctfshow.com
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 基于ctfshow的信息网络思绪与CTF实战