需要提交的captcha滿足等式,肯定就是MD5碰撞了

附上腳本
1 import hashlib 2 3 4 def func(md5_val): 5 for x in range(1,100000000): 6 md5_value=hashlib.md5(str(x)).hexdigest() 7 if md5_value[:6]==md5_val: 8 return str(x) 9 10 11 print func(raw_input('md5_val:')) 12 13 14 raw_input('ok')
嘗試后發現登錄處存在sql注入,於是用 ' or 1# 登錄



看了下下載的幾個文件發現都沒有什么用,不過這個下載鏈接讓我想到了文件包含/Challenges/file/download.php?f=
嘗試讀取index.php,構造../inedx.php,但是發現只要文件名包含 任意字符+斜杠 都會提示 flag{wow!!!but not true},看來是屏蔽了目錄穿越,多次嘗試繞過無果,后來看了眼其他wp,這里並沒有屏蔽斜杠,所以還可以用絕對路徑,通過返回的header " X-Powered-By: PHP/5.5.9-1ubuntu4.19 " 得知服務器系統是ubuntu,一般網站的路徑即為 /var/www/html 。

所以構造/Challenges/file/download.php?f=/var/www/html/Challenges/flag.php

看到這個 " echo file_get_contents("helloctf.php"); " 想直接包含改文件,但是發現提示error,所以繼續審代碼
第一眼覺得很麻煩,不過細看一下覺得這個實在沒難度,構造 flag=flag; ,注意有分號的,因為eval()執行的是一句完整的php代碼,當然要以分號結尾。然后eval() 那句執行的就是 $spaceone = flag; ,然后沒反應? 查看源碼就可以看見了

