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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
; k! {; d# u0 F0 ]XSPA(SSPA)是什么?6 ~1 M; k2 n* Y9 B) I
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
  M5 t5 o+ A0 `( a# zPHP fsockopen() function:2 j; t  j% |) u" @) {
<?php
. A& S* B2 c3 H3 b# {+ {function GetFile($host,$port,$link); I9 d) W$ c' t1 I+ g& _( ?* k* z
{' e- V' ~9 T  i& `& e, O
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);4 z% ?  m" T: H7 q( g0 q
if (!$fp) {   z/ y9 _+ t/ c
echo “$errstr (error number $errno) \n”;2 Z( l4 \( x% ]6 M6 p$ b
} else {$ {3 Z, K0 q$ K9 r/ W
$out = “GET $link HTTP/1.1\r\n”;! k# V) ^! Z! ?
$out .= “Host: $host\r\n”;) z4 H" M" n/ Z, y6 s" B$ _  {' o0 s
$out .= “Connection: Close\r\n\r\n”;9 }( A& A: b  c9 {2 C
$out .= “\r\n”;+ e. O; t, [+ P) S
fwrite($fp, $out);% F6 K. \( I$ @0 O* E. D6 c
$contents=”;' v5 C' V. o& Q3 k4 ]
while (!feof($fp)) {
3 h1 I/ J# L. W! U0 B& Q3 f- g$contents.= fgets($fp, 1024);! w; `' o$ q* Z* n& G
}
" N  g: q  A$ v9 b; W" i& Q* Mfclose($fp);* s1 w* {6 `4 w
return $contents;  v4 K3 \0 _3 l* \
}1 S# J( N. m  o4 v( D
}
0 q5 ^6 R, h8 f4 K) ^5 S) d?>
0 X* n, f, f' N) P复制代码
  A  z5 _/ Z3 M% ^% V此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。4 a, V+ ]3 f* S0 r0 K8 l& r& @0 f7 O3 v
  PHP curl_exec() function:
1 c; y! u0 f- W4 X<?php
, M( i  A6 S- Mif (isset($_POST['url']))) G% |' ]3 B' J0 O" Y+ h9 e
{3 P6 f. }- J& [  W2 N
$link = $_POST['url'];
! B' V* W* X% L' ~3 s; p7 u0 T: L2 Z$curlobj = curl_init();
# o4 Z2 q  V5 R& O" Z- C8 C! qcurl_setopt($curlobj, CURLOPT_POST, 0);
. C" q4 R: e) [  c0 ?curl_setopt($curlobj,CURLOPT_URL,$link);) u' q' V2 j, F2 l( q2 K% ^
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);9 g" Y: k" w. ]) Z
$result=curl_exec($curlobj);# l0 k" J! a. B* p3 i- t; u2 X: ]
curl_close($curlobj);
/ r" y3 ?. Q% `: r* B* T) v: @ 9 o; d* g  X% U  f0 b. n
$filename = ‘./curled/’.rand().’.txt’;' H: W% k+ D/ t( c1 K/ _
file_put_contents($filename, $result);
: y$ h1 G* H" Z2 j/ U: Z! Decho $result;
) j' E' E6 \$ J0 Y$ [$ R}
5 G' [0 q5 o5 G5 z7 U( a$ W# ]?>
1 u! I- t- M  @9 T4 X) I1 m) o复制代码
* R' h! m0 Z* T; W$ F/ O5 b这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。* `; V# ~7 j  ?6 {" x
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
! y( W/ R5 h( g  `1 K* h: S1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,
* P* x/ `5 M% r( K2。开发弱势运行的程序在Intranet或本地Web服务器' [# g, C# h- `- G
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)9 d* w; C( {6 R4 _
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为
8 ]9 n) t# d; C% E, \" M1 r5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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