注入工具的原理和開發

2021-04-09 00:12:24 字數 1251 閱讀 9938

「注入」這一詞眼下可算得上時髦,「大街小巷」到處都能「聽」到看到。這一詞曾經讓無數人「聞名色變」,今天我們的話題仍是注入。不過今天我們這裡的這個注入不同於以往的,它有別於通常的sql注入,可以說是一種新型的。平日裡,人們在提交資料的時候都是採用頁面形式。但是,今天我們這裡就要打破這一傳統觀念。這種方法是通過自己構造http請求報文,以程式的方式代替傳統的方法,實現資料的自動提交。

在文章還未進入正題的時候,我就http協議這個東西給大家再羅嗦兩句。其實關於http協議這個東西我本來都不想說的。但是,為了照顧大多數朋友。平日裡,當我們在開啟乙個**的時候,比如說http://www.36963.cn/

connection: keep-alive

cookie: netease_ssn=hinrof; netease_adv=11&22; province=0; city=0; ntes_uv_cookie=yes

從以上的報文中,我們可以看到很多字段,不過其中有很多並不是必須的,如果我們自己程式設計,只關心必要的就行了。在http/1.1協議中規定了最小請求訊息由方法字段(get/post/head)和主機字段(host)構成。如上面的

但在http/1.0中,host欄位並不是必須的,至於這裡為什麼不能省,繼續往下看。

get和post是瀏覽器向伺服器提交報文通常所採用的兩種方法。伺服器在收到報文之後,解碼分析出所需的資料並進行處理,最後返回結果。通常我們可以看到的都是像http://***.***.***.***/list.asp?id

=***這樣的url請求,我們可以自己構造如下的報文來完成 。

由於受url長度1024的限制,所以get方法通常是用在提交一些小資料的情況下。如果資料比較大就只能採用post方法。在講解post方法的一些要點之前,大家還是先來看一段post請求報文。

int encode(char *s,char *d)

else if(ist(*p))

else }

*d=0;

return 1;

} 以下是unencode url解碼函式:

int unencode(char *s,char *d)

else if(*s==』%』)

else }

*d=0;

return 1;

} ……

注入工具的原理和開發

connection keep alive cookie netease ssn hinrof netease adv 11 22 province 0 city 0 ntes uv cookie yes 從以上的報文中,我們可以看到很多字段,不過其中有很多並不是必須的,如果我們自己程式設計,只關心...

注入工具的原理和開發

connection keep alive cookie netease ssn hinrof netease adv 11 22 province 0 city 0 ntes uv cookie yes 從以上的報文中,我們可以看到很多字段,不過其中有很多並不是必須的,如果我們自己程式設計,只關心...

SQL注入原理和分析 顯錯注入

sql注入本質 談到sql注入前我們先談談什麼是注入 注入攻擊的本質,是把使用者輸入的資料當做 執行 有兩個關鍵條件 1.使用者輸入的資料控制輸入 2.原本程式要執行的 拼接了使用者輸入的資料然後進行執行 sql注入就是針對sql語句的注入,也可以理解為使用者輸入的資料當作sql語句的 執行。sql...