[SHA2017](web) writeup
Bon Appétit (100)
- 打開(kāi)頁(yè)面查看源代碼页慷,發(fā)現(xiàn)如下
- 自然而然想到php偽協(xié)議蕾额,有個(gè)坑崭庸,看不了index.php梳玫,只能看 .htaccess
- http://bonappetit.stillhackinganyway.nl/index.php?page=php://filter/convert.base64-encode/resource=.htaccess
Ethical Hacker (200)
- 這題是一道注入
- 手工fuzz情況如下
- 注入點(diǎn)在email這個(gè)位置
- 過(guò)濾了空格,可以用/**/代替
- 過(guò)濾了括號(hào)
- 可以使用 -- 進(jìn)行注釋
- 采用union select 語(yǔ)句進(jìn)行注入
這題是一個(gè)sqlite數(shù)據(jù)庫(kù)的注入
sqlite注入簡(jiǎn)介看這:
id=1 : 7RTSGl9v907CzSdo
id=2 : W+OTqx5JlGWm
id=3 : pV/0nSQucWu5nAux
id=4 : ChqS4hrWupnQ4+Hr
...
wocao治宣,這得有多少條急侥,試試能不能用goup_concat,但是過(guò)濾了括號(hào)侮邀,這里要進(jìn)行繞過(guò)坏怪,CVE-2016-1003
給一個(gè)大佬的傳送門
所以繞過(guò)就是利用雙引號(hào)進(jìn)行繞過(guò)括號(hào)過(guò)濾
-
還有一個(gè)line表,
所以绊茧,要得到flag,應(yīng)該是按照l(shuí)ine表的順序,去對(duì)應(yīng)base64铝宵,組成字典,將base64的內(nèi)容進(jìn)行拼接按傅,這里需要一個(gè)腳本捉超,將line,base64分別保存為文本
注意:需要將base64當(dāng)中的 / 斜杠去掉
#! python
# -*- coding: utf-8 -*-
__author__ = 'Deen'
import base64
with open('base64.txt') as fp:
b64 = fp.read().split(',')
fp.close()
with open('line.txt') as fp:
line = fp.read().split(',')
fp.close()
# 進(jìn)行對(duì)應(yīng)組合
dic = zip(line, b64)
flag = {}
for i in dic:
flag[i[0]] = i[1]
# 按次序拼接
content = ""
for i in range(1, len(b64) + 1):
content += flag[str(i)]
# 二進(jìn)制讀寫(xiě)
content = base64.b64decode(content)
file = open('flag', 'wb')
file.write(content)
- 這什么文件胧卤,binwalk也看不出來(lái)
- 不應(yīng)該是會(huì)一張jpg么唯绍,解密也沒(méi)有報(bào)錯(cuò)啊
(后面會(huì)更新)