找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2357|回复: 0
打印 上一主题 下一主题

跨站点端口攻击 – XSPA(SSPA)

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
+ ]1 u& A8 J/ yXSPA(SSPA)是什么?
: ^1 C1 Z+ L5 y/ Q0 g# j如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
# l7 E2 }/ b9 y$ PPHP fsockopen() function:  ^$ @' Q6 J  X: {  E
<?php0 J( G$ r7 s; v' ]$ s
function GetFile($host,$port,$link)
1 D8 e9 d6 s0 y! [5 U{
" q  t3 t& {7 `/ Z1 ^$fp = fsockopen($host, intval($port), $errno, $errstr, 30);+ Y  {5 k- {" B4 g% k. y7 q. v
if (!$fp) {
% d% s" r5 ?/ yecho “$errstr (error number $errno) \n”;" z2 \6 K* e- H' M" r# [4 `) ]6 M
} else {4 \5 X3 H* A' w3 R* {9 A
$out = “GET $link HTTP/1.1\r\n”;
) N' h* _! K% ]: n7 O$out .= “Host: $host\r\n”;
3 e( O9 L- f8 B1 {7 }$out .= “Connection: Close\r\n\r\n”;2 @* w5 z' E$ b3 i1 \
$out .= “\r\n”;2 r9 m# n# k- F9 s( a+ o# n9 u
fwrite($fp, $out);4 x1 k# f: Z5 {# v/ K9 @
$contents=”;
3 L/ Z: Y  K1 D9 O* @( swhile (!feof($fp)) {
8 F  C" _3 ^0 [' ?$contents.= fgets($fp, 1024);
: M3 D& g; I# ]  s6 W* C}0 @7 d" i8 P% U' v3 G: S0 g9 f7 ~
fclose($fp);. N8 g  _$ ]  _, L2 \
return $contents;7 f( ]2 g  a& W: P" A$ Y4 c
}
. W8 s; s6 M% @}' |" O& H3 t8 p4 n
?>, G/ k  S7 b# R' I' V+ C
复制代码3 R0 N9 S/ l8 p: }; `/ e
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。: j+ S, M; g" S
  PHP curl_exec() function:
* B2 ]9 R" {" E7 q<?php% x$ }& M! ^: D* r% R
if (isset($_POST['url']))* f, z  a6 l. X5 B6 E+ Y
{
( C9 a. u" l) ?9 E2 l+ t$link = $_POST['url'];
: m  [# W4 c/ z# k$curlobj = curl_init();
: K$ V( t0 U1 Y6 Qcurl_setopt($curlobj, CURLOPT_POST, 0);
4 ]. l, n9 A% F& A# qcurl_setopt($curlobj,CURLOPT_URL,$link);7 q& x1 F7 F% O: z9 b) @
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);5 G0 [6 x% m& Z& r' |7 B$ V' j  X
$result=curl_exec($curlobj);
3 q: B3 p) y& p) B  Ycurl_close($curlobj);
* ]" [: S  {5 I4 C' H8 q/ a/ B
# {; B* M) n8 _% m# |$filename = ‘./curled/’.rand().’.txt’;3 R6 G( G( r! F+ h2 w* {
file_put_contents($filename, $result);# b2 y1 d9 `8 v0 k0 ^3 g! E$ {
echo $result;
1 i4 E% W! ^* R" B/ _6 }7 {# A( D" [}1 ~0 r1 A) w0 P
?>
% q9 k7 `) }& ?5 g0 L$ b复制代码2 b/ q4 K1 {, n  L$ \7 I1 X
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
/ a8 D: e- o, B# M- f/ Y9 H在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:! l6 H' s& O$ L/ K' \
1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,
3 l. d. D9 _) x: k7 S2。开发弱势运行的程序在Intranet或本地Web服务器" K& ^! _/ B! Q. i
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)5 _* u, K% C$ [* D7 W0 X1 r
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为
; }3 Y" m" U  X% h1 ~! w5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表