跨站點端口攻擊 – XSPA(SSPA)

許多Web應用程序提供的功能將數據從其餘Web服務器,因爲種種緣由。下載XML提要,從遠程服務器,Web應用程序可使用用戶指定的URL,獲取圖像,此功能可能會被濫用,使製做的查詢使用易受攻擊的Web應用程序做爲代理運行在遠程攻擊其餘服務的基於文本的文件等。 /本地服務器。經過這種濫用而產生的功能被命名爲攻擊,跨站點端口的攻擊(XSPA)。php

XSPA(SSPA)是什麼?
若是應用程序處理用戶提供的URL和不驗證/消毒後端從遠程服務器接收到響應,而後將其發送回客戶端應用程序是容易受到跨站點端口的攻擊。攻擊者能夠經過發送特製的查詢到一個易受攻擊的Web應用程序代理攻擊,面臨的外部Internet服務器,內網設備和Web服務器自己易受攻擊的Web應用程序使用的廣告功能。的反應,在某些狀況下,能夠進行研究,以肯定服務的可用性(端口狀態,橫幅等),甚至在非傳統的方式獲取數據的遠程服務。
PHP fsockopen() function:
<?php
function GetFile($host,$port,$link)
{ www.2cto.com
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);
if (!$fp) { 
echo 「$errstr (error number $errno) \n」;
} else {
$out = 「GET $link HTTP/1.1\r\n」;
$out .= 「Host: $host\r\n」;
$out .= 「Connection: Close\r\n\r\n」;
$out .= 「\r\n」;
fwrite($fp, $out);
$contents=」;
while (!feof($fp)) {
$contents.= fgets($fp, 1024);
}
fclose($fp);
return $contents;
}
}
?>
 
此實現獲取數據,如由一個用戶使用的fsockopen PHP函數(任何文件或HTML)請求。此功能創建一個TCP鏈接的套接字的服務器上,並進行原始數據傳輸。
  PHP curl_exec() function:
<?php
if (isset($_POST['url']))
{
$link = $_POST['url'];
$curlobj = curl_init();
curl_setopt($curlobj, CURLOPT_POST, 0);
curl_setopt($curlobj,CURLOPT_URL,$link);
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
$result=curl_exec($curlobj);
curl_close($curlobj);
$filename = ‘./curled/’.rand().’.txt’;
file_put_contents($filename, $result);
echo $result;
}
?>
 
這是另外一種很是常見的實現,經過PHP使用curl獲取數據。「捲曲」文件夾下的文件/數據下載並存儲到磁盤,並附加一個隨機數「。txt’結尾的文件擴展名。
在本系列的下一部分,咱們將看到一些能夠啓動的攻擊使用此vulnerbility。XSPA容許攻擊者在目標服務器基礎設施,主要是內網的Web服務器,Web服務器自己,以及面向互聯網的服務器以及。目前,我已經遇到如下五種不一樣的攻擊方式,能夠啓動使用XSPA:
1。端口掃描遠程互聯網服務器,內網設備和本地Web服務器自己。橫幅斂也有可能在某些狀況下,
2。開發弱勢運行的程序在Intranet或本地Web服務器
3。攻擊內部/外部Web應用程序很容易經過URL來獲取參數的 漏洞(SQLI,參數操做等)
4。指紋圖譜的Intranet Web應用程序使用標準的應用程序的默認文件及行爲
5。 閱讀使用file :/ / /協議處理程序的本地Web服務器上的文件。
相關文章
相關標籤/搜索