ok!
Realistic missions 第一關,也算是小試身手!
https://www.hackthissite.org/missions/realistic/1/
題目-劇情描述
Uncle Arnold's Local Band Review
你的朋友被騙了數百元美金,忙幫忙他把事情做好
From: HeavyMetalRyan
Message: Hey man, I need a big favour from you. Remember that website I showed you once before? Uncle Arnold's Band Review Page? Well, a long time ago I made a $500 bet with a friend that my band would be at the top of the list by the end of the year. Well, as you already know, two of my band members have died in a horrendous car accident... but this ass hole still insists that the bet is on!
I know you're good with computers and stuff, so I was wondering, is there any way for you to hack this website and make my band on the top of the list? My band is Raging Inferno. Thanks a lot, man!
訊息:嘿!兄弟,我需要你幫我個大忙,在之前我有讓你看過Uncle Arnold's Local Band Review的頁面,那是一個評論頁,在很久之前,我與人做了500元美金的賭注,我的樂團要在今年底存在於列表的頂部。
你應該知道我兩個樂團成員都在一個可怕的車禍中去世了,但這該死的賭注能要繼續!
我知道你是個電腦好手,所以我想知道,你有沒有辦法破解這個網站,讓我的樂團"Raging Inferno" 存在於列表的頂部。非常感謝,夥計!
概念
從頁面的項目元件以及題目說明,主要就可以鎖定,對於Raging Inferno 那筆資料要衝到頂,要超過第一名。
下面我們將會展開攻擊,如果想要自行嘗試看看,可以先別將頁面往下拉,思考一下這頁面開如何操作,才能達標!
攻擊-Attack
首先看到網站會先嘗試看看一些基本操作看有沒有異狀,再者查看原始碼,這樣的基礎流程
這次的要執行的目標是將會是那下拉式選單的值, 因為要讓 Raging Inferno 這個項目的 2.3141751857359 超越 第一名的 23.107846155906
可是下拉式選單的數值只有5,即使重複投票 數值都還是 2.3141751857359,這是時候就是利用改數值的方式來超越 第一名的數字了
怎麼改?
這個題目的設計比起實際網站還有來的鬆散,所以可以利用很簡單的方式來修改數值。
首先使用firefox的套件firebug來瀏覽原始碼,針對我們要處理的那筆訊息(如下圖)
上面有數值,我們可以嘗試看看改數值後在 vote!
這時你會覺得!有這麼容易嗎!?!?!
事實上,沒錯,就是這麼簡單
這題目的攻擊原理就是利用頁面的數值,傳入server來達到攻擊目的。
防禦-Defense
這題目簡單,但也是基本的,由使用者所輸入、傳入的任何數值都要經過驗證,這題因為沒有經過驗證,就相信並且使用了由使用者頁面傳入的數據,才可以完成攻擊。
最主要
1.驗證使用者所輸入的數據。
2.頁面的數值都只是顯示用,即使被修改,還是要以server的數據為主。