12 December 2011
有極少數的網站開發者,
在處理有關input資料時,只會在client端進行validate(用Javascript),
往往忽略了server端的驗證。

如果這時候,hacker寫個小軟體利用telnet發送一個post到你的server,
那就爆了!
當然,hacker也可以直接寫個form,然後action是對你的server,
這樣就避掉client端的js,只不過這邊要說明怎麼用telnet去發出一個request。



假設對方做一個輸入mail的page,
然後該page有驗證,如果你輸入不是mail的格式,
就不會將資料傳到他的server,以及新增至DB。
這時候我們就可以利用telnet,跳過他前端的驗證機制!


首先打開你的cmd!

接著輸入下圖中的指令:







恩,上圖中的網址,記得改成連線的網址,圖中只是範例,
你連不到的!

連到以後,按下鍵盤的 CTRL+] 按鍵
接著輸入下圖中的指令,set localecho,輸入完成,按2下enter,
這段的目的是讓你等等輸入指令時看得到自己在輸入甚麼,
如果沒有這段,等等輸入指令,你是看不到自己在打啥!













接著就可以輸入發送POST的指令了!可以看下圖!
建議你,先在記事本上打一打,再貼上,因為在CMD輸入錯了,
是不能按DELETE或者Backspace的













第一行,記得是POST,然後/yyyy,就是你要收資料的page,要改成自己的喔!
第二行,HOST就是主機名稱,
第三行,就是告訴server,會有表單的資料傳遞過來
第四行,content-lengh,就是你要傳的資料有多長,因為我們的資料是mail=88811,所以是10
第五行,就是response完,連線就斷掉。

上面都是http header,當然還有很多,你可以自己偽造!
例如cookie、date等等之類的!
記得header與data之間要空一行空白,
接著才可以輸入資料
就是圖中的mail=88811。
這樣就完成了,你就輸入一個不是正確mail格式的mail給他!
且如果他 server沒有進行驗證,這時候就錯誤了!
當然你可以把mail的問題放大,可能是sql injection,或者是XSS之類的問題!



























blog comments powered by Disqus