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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

SWPUCTF 2019总结以及部分WP

發布時間:2024/2/2 综合教程 38 生活家
生活随笔 收集整理的這篇文章主要介紹了 SWPUCTF 2019总结以及部分WP 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  本次SWPUCTF開賽了,一共做了5個misc+2個web,RE和Android沒時間看= =,pwn完全不會,果然又是和去年一樣劃水。題目都出的很不錯,做題的時候思路其實也容易想到,剩下幾個web有思路但是最后還是沒有做出來。

  簡單寫個WP吧。

  本次比賽的部分文件我已保存上傳至xxx。懶得上傳,需要的話找我拿吧。

一、MISC

神奇的二維碼

  下載之后是一個二維碼,直接掃描后是一個fakeflag,直接binwalk先掃描一波

可以發現里面有幾個rar,將其分離出來,其中兩個rar解出來都是沒有東西的,只有最后那個flag.doc下面的一大串字符,用base64解密發現可以轉換。

那么就寫一個簡單的Py腳本吧= =,當然也可以手動一直轉換。

import base64

with open('./1.txt') as f:
    s = f.readlines()[0].strip()
    try:
        while True:
            s = base64.b64decode(s)
    except:
        print(s)

View Code

然后加上swpuctf{}提交就可以了。這道題就算是簽到題吧。

漂流的馬里奧

  打開直接運行會在所在目錄生成一個1.txt,內容如下

還是繼續使用binwalk分離內部文件,其下面有個50000.rar,打開后發現也就是1.txt的壓縮包,我們使用010 editor查看一下16進制源碼

發現其比普通的rar文件多了CTM部分和STM部分,搜索一下發現CMT就是壓縮包的注釋部分,那么STM是什么呢,同樣我還發現STM部分包含flag.txt這肯定就是隱藏的flagle,在google上搜索RAR STM相關關鍵字后我找到了這樣一篇博文,大概就滿足我們所說的隱藏信息。

再繼續搜索相關NTFS流的資料后我找到了獲取這個數據流的方法。如下,更多關于NTFS流的信息可以自行再搜索相關資料。

偉大的偵探

  從這個標題就知道和福爾摩斯相關,打開密碼.txt后如下

根據提示編碼錯誤,我們使用010 editor轉換編碼,最后發現密碼如下

然后misc文件夾下的內容如下

果然還是和福爾摩斯有關的,這也就是歸來記中的跳舞的小人,但是這只是簡單的按照書中的碼表進行轉換,和其真正的解密方法(根據出現頻率解密)不相同,最后對照網上的碼表得到flag

swpuctf{iloveholmesandwllm}。

你有沒有好好看網課

打開有flag2.rar,和flag3.rar,都有加密,經檢測不是偽加密,那就爆破吧,flag3是可以被爆破的,然后里面就是我們人見人愛的影流之主了,flag.doc內容如下,

根據題目的提示,我們去看一下這些數字的幀數。

這兩幀的燈位置都有隱藏信息,提取出來如下

..... ../... ./... ./... ../
dXBfdXBfdXA=

第二行直接可以base64解密,第一行最開始猜測是莫斯加密,可是對不上莫斯的碼表,最后一個個嘗試之后發現其是敲擊碼,得到密碼

wllmup_up_up,用這個密碼可以打開flag2.rar。然后010 editor打開就可以發現在末尾的flag了。

Network

下載后發現里面只有一個txt文檔,而且里面只有四個數字

這道題比較誤導人的地方就是,它的標題叫做Network,剛好這四個數字又對應了四個網關地址,于是方向錯誤,最后對比其二進制才發現端倪,這四個數字轉成8位二進制后,只有最高兩位二進制不同,我們嘗試寫一個腳本將其最高兩位提取出來,并且4個一組轉換位ASCII。發現寫出來的16進制數開頭是50 4B,應該也就是zip了,腳本如下

fp = open('t.txt','r')
a = fp.readlines()
p = []
for i in a:
    p.append(int(i))
s = ''
for i in p:
    if i == 63:
        a = '00'
    elif i == 127:
        a = '01'
    elif i == 191:
        a = '10'
    elif i == 255:
        a = '11'
    s += a

import binascii
flag = ''
for i in range(0,len(s),8):
    flag += chr(int(s[i:i+8],2))
flag = binascii.unhexlify(flag)
wp = open('ans.zip','wb')
wp.write(flag)
wp.close()

View Code

打開后發現需要密碼,010查看發現全局加密和局部加密位不一,也就是偽加密了,改09 為 00后打開

然后又是一大串的字符,不說了上base64,解密得到flag

flag{189ff9e5b743ae95f940a6ccc6dbd9ab}

easy_web

打開如下,一個登陸注冊界面,隨意注冊個賬號。

可以發現可以申請廣告。

然后發現其是可以實現XSS的,但是這題管理員并不上線,所以XSS沒有什么用

后面經過了一些測試發現之后,廣告詳情的SQL是通過廣告名進行搜索的,所以這里可能實現二次注入,猜測SQL為(做完題后再猜測的)

  

select xx from xxx where title='xxx' limit 0,1

然后嘗試之后發現過濾了or,sql,join,空格,#,-等一些字符,期間最頭疼的就是過濾了or,那么order和information_schema都不能使用了,查詢字段我們還可以用union select,但是咋查表呢,最后我是自己手動猜出來的,數據庫為web1,下面有users表,里面有name和pass字段,admin的pass就是最后的flag,構造如下廣告

沒錯,有22列,然后點擊廣告詳情就可以得到flag的md5了,根據題目說明使用somd5解密即可得到flag

這題的很多細節,比如查列數以及如何構造sql就不再說了,這里就只講一下最后的payload實現。

簡單的Python

比賽結束了 = =題目下線了,沒法復現了。

emmm這題不知道是不是出題人失誤啊,猜了個redis密碼為password竟然直接連接上了。

然后就用了一波別人的session獲得了flag...


WEB3弄出了secretkey了,下一步應該是個ssti了,但是周六周天都有事= =沒有做了。

總結

以上是生活随笔為你收集整理的SWPUCTF 2019总结以及部分WP的全部內容,希望文章能夠幫你解決所遇到的問題。

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