0


[青少年CTF]Web—Easy CheckMe1-8 by 周末

青少年CTF训练平台 CheckMe1-8

个人博客:https://www.st1ck4r.top/

CheckMe01

考点:php代码审计

image-20221203020514971

给了一个输入框,先随便输点东西进去。

image-20221203020557359

直接就给出了源码,分析该源码。

<title>CheckMe-01</title><?php
print("<h1>欢迎来到CheckMe-01,快来寻找你的Flag并提交吧。</h1>");?><form action="index.php" method="POST">
  your key:<input type="text" name="key"/><input type="submit" value="Submit"/></form><?php
if(!empty($_POST['key'])){//判断post参数key是否存在$keys=$_POST['key'];//赋值show_source("index.php");$keys=base64_decode(urldecode($keys));//将keys值url解码然后base64解码if(strlen($keys)==6){//判断长度是否为6if($keys=="qsnctf"){//判断值是否等于qsnctfprint("<p>You win!</p>");include("flag.php");print($flag);}}else{print("末心:大漏特漏!此乃九年义务教育漏网之鱼。");}}?>

现在情况很明了了,我们需要传入字符串"qsnctf"的base64加密字符串。

利用在线网站进行加密。

image-20221203021425948

传入参数。

image-20221203021527680

Tips:

​ 使用hackbar插件要方便一点哦。

image-20221203021721718

CheckMe02

考点:文件包含

image-20221203022029416

只给了简单的一段,看到include函数,自然而然地想到文件包含。

先测试一下,可以包含。

image-20221203022507727

查看根目录下的flag。

image-20221203022754564

CheckMe03

考点:文件包含

依旧是熟悉的文件包含,但是相比上一题应该增加了不许使用伪协议的限制(虽然跟没加一样)。

image-20221203023456590

依旧是先测试。

image-20221203023648125

成功回显,接着改成根目录下的flag。

image-20221203023817913

CheckMe04

考点:MD5弱类型比较

image-20221203025021698

比较两个传入参数的md5值是否相同,两个等于号代表弱比较。

image-20221203025237265

PHP:ctype_alpha()是一个检测函数,用来检测所给参数是不是字母的函数。
is_numeric() 函数用于检测变量是否为数字或数字字符串。

无法通过数组绕过,使用科学计数法类特性进行弱类型绕过。

a=QLTHNDT
b=240610708

image-20221203031100536

CheckMe05

考点:MD5强类型比较

image-20221203160606618

这次换成了三个等号,意为强类型比较,但是没有对传入数据进行类型判断,所以我们使用数组绕过即可。

a[]=1&b[]=11

image-20221203160855038

CheckMe06

考点:密码爆破

image-20221203162914944

打开网页是一个登陆界面,在题目下方还给了一个字典。

image-20221203163016015

使用Burp抓包,猜测用户名为admin,利用字典爆破密码。

image-20221203163128152

CheckMe07

考点:万能密码

和6一样的界面。

image-20221203163529866

随便输入账号和密码,这次弹出了账号或密码错误的提示。

image-20221203163603105

使用万能密码测试。

image-20221203163633593

弹出flag。

image-20221203163651438

CheckMe08

考点:sql注入

依旧是那个登录页面,先抓个包重发一下。

image-20221203164446087

给出了登陆失败的弹窗,尝试万能密码和密码爆破无果后,果断掏出神器sqlmap.

由于是post请求,所以我们需要把请求包复制并保存到一个txt文档里。

image-20221203164738901

使用命令

python sqlmap.py -r 1.txt --dbs -batch

开始爆破数据库。

image-20221203185014720

接着查看sql库里的表:

python sqlmap.py -r 1.txt -D sql --tables --batch

image-20221203185425786

查看字段:

python sqlmap.py -r 1.txt -D sql -T user --columns --batch

image-20221203191737850

dump内容:

python sqlmap.py -r 1.txt -D sql -T user -C password --dump --batch

image-20221203194933286

标签: 网络安全 安全 php

本文转载自: https://blog.csdn.net/qq_52307221/article/details/128165546
版权归原作者 ZhouMo. 所有, 如有侵权,请联系我们删除。

“[青少年CTF]Web—Easy CheckMe1-8 by 周末”的评论:

还没有评论