Checkme1-8 WP
核心代码:$keys = base64_decode(urldecode($keys));
解题思路:需先对 “qsnctf” 字符进行 base64 编码,才能满足$keys=="qsnctf"的判断条件。
操作步骤:将编码后的内容输入,即可获取 flag。
checkme02
初始现象:打开页面后无明显内容。
尝试操作:在页面中尝试读取phpinfo();查看服务器信息。
解题关键:在phpinfo();输出结果中搜索 “qsnctf” 关键词,即可找到 flag。
checkme03
题目类型:文件包含漏洞利用。
初步尝试:使用?text=php://filter/read=convert.base64-encode/resource=index.php读取文件,发现该方法失效。
替代方案:尝试读取服务器日志文件,构造 payload:
?text=../../../../../../../../../../../../../../../../var/log/nginx/access.log
漏洞利用:从日志中发现会记录 User-Agent 信息,使用 HackBar 工具将 User-Agent 修改为<?php phpinfo();?>,刷新页面后执行代码。
获取 flag:执行后在页面输出中找到 flag。
checkme04
题目要求:需满足两个条件 —— 变量a为字母类型、变量b为数字类型,且两者的 MD5 值相等,即可输出 flag。
题目类型:强类型比较(===)漏洞。
解题操作:根据强类型比较的特性,输入符合条件的参数,即可得到 flag。
checkme06
题目提示:给出一个列表(字典)数据,推测需通过爆破获取关键信息。
爆破技巧:对列表中的数据进行爆破,观察返回包长度,长度不同的返回包对应的内容即为密码(需自行完成爆破操作)。
获取 flag:输入爆破得到的密码,即可获取 flag。
checkme07
解题方法:使用 SQL 注入万能密码进行登录,直接获取 flag。
常见万能密码示例:' or 1=1#、admin' -- 等(根据题目实际情况选择合适的万能密码)。
checkme08
解题工具:SQLMap(自动化 SQL 注入工具)。
前置操作:将抓取到的 HTTP 请求包保存为1.txt文件。
步骤 1:爆破数据库
执行命令:
python -r 1.txt --dbs
步骤 2:爆破表名
执行命令(指定数据库为sql):
python -r 1.txt -D sql --tables
步骤 3:爆破列名
执行命令(指定表名为user):
python -r 1.txt -D sql -T user --columns
步骤 4:读取 flag
执行命令(指定列名为password):
python -r 1.txt -D sql -T user -C password --dump