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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
9 f0 B$ u& ?# Q/ x: s  B: w7 ~7 aXSPA(SSPA)是什么?
! o7 a$ X2 F+ n0 T' V( d, c如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
: w" l7 I7 B) C; b% q6 uPHP fsockopen() function:
; [* a9 T) [& p+ w3 l<?php3 x; H9 Q5 }# B7 A
function GetFile($host,$port,$link)8 X5 C3 n2 x: z' j, L6 S3 `
{0 X  I2 z1 W- w7 s+ G% p3 [
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);7 {8 w6 Q) O. O/ D7 S$ }8 w6 E
if (!$fp) { 8 R& Z( {( K$ C8 c
echo “$errstr (error number $errno) \n”;# Q/ o8 A  C) G5 u1 B% x+ r4 _
} else {1 j. l" G) Q8 C: Y3 }- R
$out = “GET $link HTTP/1.1\r\n”;
1 l. }; w) [) b5 I' c3 V; X$out .= “Host: $host\r\n”;$ F5 P5 h1 K9 M
$out .= “Connection: Close\r\n\r\n”;1 V- _6 f' E# {5 a! ^" V( \5 @3 V
$out .= “\r\n”;
9 A- J3 h- E: q% n7 o, j9 g3 O- `fwrite($fp, $out);. Y! F+ t! V& K7 a, C$ O( \
$contents=”;$ K. K: `, I: T
while (!feof($fp)) {; u9 {0 {( l. v, Y
$contents.= fgets($fp, 1024);
( A. [7 `5 z+ }# s  z}! I, j6 R- `  f. U/ J
fclose($fp);
- t# i, J/ v! s4 H- ^return $contents;
% }2 ^( c" D1 i4 L- G$ y}, Q" B: N& c4 {$ @% z
}
) y& r; d% |, K5 i3 L8 [$ T?>
8 P7 m# \9 m6 Z4 `' A8 o: S复制代码
8 X$ i9 _; B; k- G# J  W$ X' c8 u8 a此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。7 n# ]2 S6 ~2 s. ~, R1 Q, |, w' @
  PHP curl_exec() function:
- v. Z6 v* T/ ~$ I& _- J& {1 r5 e<?php' s5 R, K; M: G9 r) R8 D5 \2 S
if (isset($_POST['url']))
& X4 l6 D, v% N/ o8 }, Q{
1 r6 b! J1 D7 m4 C$link = $_POST['url'];
* ]6 ]; @/ [9 S* [4 p  r) g$curlobj = curl_init();
6 P; n' ]3 _2 @7 h! s! ucurl_setopt($curlobj, CURLOPT_POST, 0);3 c  q  I/ p0 Y5 a& I1 t" t
curl_setopt($curlobj,CURLOPT_URL,$link);
3 M2 T1 N6 R5 K  s! @6 p3 |9 O/ Lcurl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
+ S  d" N8 q6 c$ K4 m: h+ A$ ~$result=curl_exec($curlobj);0 O, e0 g( i6 T: F  Q: d
curl_close($curlobj);
5 E- E- i! T$ p. Q; u; {* f
- R7 Z& e: w: C* D2 m$filename = ‘./curled/’.rand().’.txt’;
6 l8 W4 T/ d& k7 Ofile_put_contents($filename, $result);0 d8 n+ k, y) l4 W6 E
echo $result;, I+ T4 `, r7 F3 l0 E, H  _
}
# f* i/ f! l9 B+ j* G& d9 Z+ w, b?>! P  J  O$ |1 ]9 |5 @6 Y
复制代码& k- i' X, r2 H0 O
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
+ e+ B# Z% F+ \在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
9 b% V& u: g$ w. X9 h  b1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,* r& Q4 r+ A. h2 m
2。开发弱势运行的程序在Intranet或本地Web服务器5 b% Q) V' s  K! I: m7 I
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)
, ^  M( X0 i) {8 ]3 t& ]6 T( q4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为; w8 O! _; J' r3 p8 }
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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