国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

PHP安全-HTTP請求欺騙

瀏覽:87日期:2022-09-12 09:28:06
HTTP請求欺騙

一個比欺騙表單更高級和復雜的攻擊方式是HTTP請求欺騙。這給了攻擊者完全的控制權與靈活性,它進一步證明了不能盲目信任用戶提交的任何數據。

為了演示這是如何進行的,請看下面位于http://example.org/form.php的表單:

CODE:

<form action='process.php' method='POST'>

<p>Please select a color:

<select name='color'>

<option value='red'>Red</option>

<option value='green'>Green</option>

<option value='blue'>Blue</option>

</select><br />

<input type='submit' value='Select' /></p>

</form>

如果用戶選擇了Red并點擊了Select按鈕后,瀏覽器會發出下面的HTTP請求:

CODE:

POST /process.php HTTP/1.1

Host: example.org

User-Agent: Mozilla/5.0 (X11; U; Linux i686)

Referer: http://example.org/form.php

Content-Type: application/x-www-form-urlencoded

Content-Length: 9

color=red

.

看到大多數瀏覽器會包含一個來源的URL值,你可能會試圖使用$_SERVER[’HTTP_REFERER’]變量去防止欺騙。確實,這可以用于對付利用標準瀏覽器發起的攻擊,但攻擊者是不會被這個小麻煩給擋住的。通過編輯HTTP請求的原始信息,攻擊者可以完全控制HTTP頭部的值,GET和POST的數據,以及所有在HTTP請求的內容。

攻擊者如何更改原始的HTTP請求?過程非常簡單。通過在大多數系統平臺上都提供的Telnet實用程序,你就可以通過連接網站服務器的偵聽端口(典型的端口為80)來與Web服務器直接通信。下面就是使用這個技巧請求http://example.org/頁面的例子:

CODE:

$ telnet example.org 80

Trying 192.0.34.166...

Connected to example.org (192.0.34.166).

Escape character is ’^]’.

GET / HTTP/1.1

Host: example.org

HTTP/1.1 200 OK

Date: Sat, 21 May 2005 12:34:56 GMT

Server: Apache/1.3.31 (Unix)

Accept-Ranges: bytes

Content-Length: 410

Connection: close

Content-Type: text/html

<html>

<head>

<title>Example Web Page</title>

</head>

<body>

<p>You have reached this web page by typing &quot;example.com&quot;,

&quot;example.net&quot;, or &quot;example.org&quot; into your web browser.</p>

<p>These domain names are reserved for use in documentation and are not

available for registration. See

<a >RFC 2606</a>, Section

3.</p>

</body>

</html>

Connection closed by foreign host.

$

上例中所顯示的請求是符合HTTP/1.1規范的最簡單的請求,這是因為Host信息是頭部信息中所必須有的。一旦你輸入了表示請求結束的連續兩個換行符,整個HTML的回應即顯示在屏幕上。

Telnet實用程序不是與Web服務器直接通信的唯一方法,但它常常是最方便的。可是如果你用PHP編碼同樣的請求,你可以就可以實現自動操作了。前面的請求可以用下面的PHP代碼實現:

CODE:

<?php

$http_response = ’’;

$fp = fsockopen(’example.org’, 80);

fputs($fp, 'GET / HTTP/1.1rn');

fputs($fp, 'Host: example.orgrnrn');

while (!feof($fp))

{

$http_response .= fgets($fp, 128);

}

fclose($fp);

echo nl2br(htmlentities($http_response, ENT_QUOTES, ’UTF-8’));

?>

當然,還有很多方法去達到上面的目的,但其要點是HTTP是一個廣為人知的標準協議,稍有經驗的攻擊者都會對它非常熟悉,并且對常見的安全漏洞的攻擊方法也很熟悉。

相對于欺騙表單,欺騙HTTP請求的做法并不多,對它不應該關注。我講述這些技巧的原因是為了更好的演示一個攻擊者在向你的應用輸入惡意信息時是如何地方便。這再次強調了過濾輸入的重要性和HTTP請求提供的任何信息都是不可信的這個事實。

標簽: PHP
相關文章:
主站蜘蛛池模板: 亚洲视频在线观看一区 | 欧美日本一道高清二区三区 | 欧美精品亚洲精品日韩 | 日韩a毛片免费全部播放完整 | 久久这里有精品视频 | 国产在线不卡免费播放 | aa级毛片毛片免费观看久 | 国产日韩精品一区二区三区 | 国产一级毛片国语版 | 国产免费爽爽视频免费可以看 | 亚洲视频一区二区三区 | 国产一区在线播放 | 日韩欧美毛片免费看播放 | 美国一级毛片片aa久久综合 | 手机看片手机在线看片 | 一级毛片视频免费观看 | 欧美老头老太做爰xxxx | 欧美成人高清免费大片观看 | 欧美一级毛片aaaaa | 自拍偷拍欧美视频 | 99免费视频观看 | 毛片成人 | 中日韩精品视频在线观看 | 中文字幕综合 | 亚洲精品国产第一区第二区国 | a在线观看欧美在线观看 | 99久久精品费精品国产一区二区 | 九九精品免视看国产成人 | 国产一级特黄全黄毛片 | 久久精品国产影库免费看 | 成人免费视频一区 | 在线免费观看欧美 | 国产3区 | 亚洲怡红院在线 | 九九视频在线观看视频6偷拍 | 一级做a爰片久久毛片鸭王 一级做a爰全过程免费视频毛片 | 久久精品夜色国产 | 真实的国产乱xxxx | 亚洲日本高清影院毛片 | 久久精品成人免费网站 | 新体操真 |