其他几条我目前没有很深的感触,但是第三条,感触太深了,一个月没碰,感觉跟啥也不会的一样,现在打算写一波ctf的wp,先把以前学会的东西拾起来,后续打算往代码审计这个方向走。
这也算是学习日记了。
开发注释未及时删除
前端代码是用户可以看到的内容
如果线上部署的代码存在注释
可能会泄露敏感信息
有些人可能会把诸如账号密码写进注释中
还有爬虫开发时
为了防止爬虫
网站可能会禁止查看网页源代码
诸如禁止 F12
禁止ctrl + u
这里给出几个我知道的查看前端源代码的方式
1 F12
2 CTRL + U
3 在url前面加上 view-source:
4 安装python,以及requests库
import requests
res = requests.get("url")
print(res.text)
第一题直接F12即可
用上面提到的其他三种方法都可以
根据提示查看网页数据包
关于为什么要查看数据包
1 很多时候,数据包中的参数可能有一些能控制的东西,产生逻辑漏洞
2 可能有 xml ,可以尝试XXE(这里之前参加腾讯的一次竞赛,是个XXE,从头到尾没抓包看,,,)
这里一般来说,做web渗透的时候都会开着Burp,用burp截包看的更清楚做的操作更多
这里懒得开了
直接在这里看
题目提示,总有人把后台地址写进 robots.txt 中
robots.txt 是一个爬虫协议
文件中规定了网站哪些页面允许爬取,哪些不允许爬
但这是一个君子协议
怎么说呢
在学习某个爬虫框架的时候
有一个参数是指定是否遵循 robots 协议
我们可以设置为 False
其作用,就像题目提示中说的
可能存在后台地址
同时
有可能正在开发的网页也会写在上面
虽然没公开,没测试过实用性,但是部署到了线上
会有很大可能存在漏洞
phps源码泄露
这里摘取一段csdn上的解释
phps文件就是php的源代码文件,通常用于提供给用户(访问者)直接通过Web浏览器查看php代码的内容。
因为用户无法直接通过Web浏览器“看到”php文件的内容,所以需要用phps文件代替。用户访问phps文件就能看到对应的php文件的源码。
原文链接:https://blog.csdn.net/JY_Heart/article/details/129398872
访问即可获得源码文件
用记事本打开
解压源码到当前目录
程序员在开发程序时,通常不会在服务器上去写
是在本地写好,然后上传到服务器测试
文件夹是没法直接传输的
所以一般习惯于打成一个压缩包传上去解压
这里的漏洞点在于
压缩包上传上去之后
没删除
能被任意用户访问到
能访问到就能下载
一般而言看个人习惯
有的人打包喜欢命名成
www.zip
web.zip
这些
所以通常可以通过目录扫描工具扫到
从而直接下载到网站的源代码
本题是 www.zip
访问 fl000g.txt
这里压缩包里的fl000g.txt不是真flag
可能是因为题目环境每次生成,flag都是随机的
所以没有固定flag
也就是在压缩包里的fl000g.txt中不能看到真的flag
版本控制很重要,但不要部署到生产环境更重要
在程序员开发时
可能会用到 git, svn 等这些版本控制软件
可以用来回溯版本
可能我这个版本不小心出问题了
我要回退,就能直接回到上一个版本
如果用的是 git
会产生一个 /.git 的本地文件夹
里面存放这一些版本信息
程序历史版本的源码之类的
本题访问 .git 获得flag
在真实环境中
访问.git如果存在
需要通过一些工具去下载解析利用
理论和上一题一样
但是这里用的是 svn
vim缓存文件
当我们使用 vim 打开文件的时候
例如我们打开了 abc.txt
会产生一个
.abc.txt.swp 文件
我们对文件做的修改操作都会在这个文件中进行
当我们使用指令 w
保存的时候
会将更改后的内容覆盖原来的文件
当我们使用 q 退出的时候
会删除这个文件
题目说了,使用vim修改死机了
也就是没有正常退出vim
缓存文件就不会被删除
访问 .abc.txt.swp 下载缓存文件
同样,真实情况下也需要通过一些工具去利用
这里可能忘了加 . 了
cookie 是用来验证用户身份登录的东西
很多用户身份参数会在cookie中
如果没有启用session
光是cookie的话
更改这些数据就可以更改我们的权限
或者获取一些其他敏感信息
题目里说的很清楚了,略过
往下翻翻到一个类似qq号的东西
目录扫描存在 /admin
猜测是后台地址
访问 /admin
弹出一个登录窗口
账户名使用admin(常用管理员账户)
密码使用那串数字
登录成功,拿到flag
技术文档里不要存在敏感信息
部署到生产环境后及时修改
可以判断出来
这道题的话
先找到开发文档
开发文档里面写了默认账号密码
网站上线后没改密码
拉到最下面
有个文档按钮
点进去,有后台地址和默认的账号密码
实际场景
很多公司想要一个网站
但是自身没有程序员团队
就会找外包公司
外包公司写好网站之后
得整个使用教程给对方
不然怕对方不会用
有时候可能就会把账号密码和后台地址写进去
造成敏感信息泄露
editor,是一个编辑器
我们访问 /editor
能够访问到编辑器的界面
这里点开文件空间
可以看到服务器的目录
虽然不能看到文件内容
但是可以看到目录结构也非常重要了
说不定就能认出来这是哪套cms
或者能够直接看到一个敏感信息文件的路径
这个editor就是一个工具
一个浏览器上的在线编辑器
像是我们发文章
用的也是类似的编辑器
找到 /var/www/html/nothinghere
直接访问这个文件
公开的信息比如邮箱可能造成信息泄露
产生严重后果
一般来说可以钓鱼
这里网站拉到最下面找到邮箱
访问 /admin 找到后台
点击忘记密码
刚刚的邮箱可以看得出来
是一个qq邮箱
前面那串数字也就是qq号
尝试搜一下
在西安
输入在西安之后
密码重置
这里其实可以用另一种爆破的方法
城市名是有限的
创建一个所有城市的名字的字典去跑就可以了
这里用刚刚重置后的密码登录
探针
一般探针可能会叫
tz.php
其中有phpinfo页面
ctrl+f 搜索 ctfshow
找到flag
看phpinfo是因为phpinfo中可以看到php的配置信息
有很多漏洞的利用和产生都跟版本和配置有关系
数据库的备份文件
访问 backup.sql
backup翻译过来是备份的意思
用记事本打开也可以
可以看到其中的flag
进来之后是个小游戏
尝试之后这玩意对我这种手残党有点难
ctrl + u 查看源代码
访问 js 文件
看到上图的代码
score 是分数
这里如果分数大于 100
执行下面那条语句
编码看起来像Uncode
解码一下那个里面的内容是什么
https://c.runoob.com/front-end/3602/
这里用了个谐音梗
去110.php看看
访问110.php
获得flag
密钥什么的,就不要放在前端了
进去查看前端源代码
找到账号和密码加密后的结果
这道题的话,预期解应该是
通过js代码,得到密钥
var key = “0000000372619038”;
var iv = “ilove36dverymuch”;
然后解密
a599ac85a73384ee3219fa684296eaa62667238d608efa81837030bd1ce1bf04
这串
得到正确的密码
但是我们可以抓包,直接把正确的加密后的密码改进去
发包
得到flag
mdb文件是早期asp+access构架的数据库文件 直接查看url路径添加/db/db.mdb 下载文件然后用记事本打开
搜索flag
用户名 | 金币 | 积分 | 时间 | 理由 |
---|---|---|---|---|
Track-魔方 | 400.00 | 0 | 2023-09-07 20:08:09 | 深度 100 普适 200 可读 100 |
打赏我,让我更有动力~
© 2016 - 2024 掌控者 All Rights Reserved.