找回密码
 立即注册
查看: 2657|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
# T+ y1 s3 o% L- }6 ~" CXSPA(SSPA)是什么?7 O6 r: B; c. Q
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。3 a% e' X6 k8 N- V/ ?3 d/ r+ t
PHP fsockopen() function:' z! ]2 E1 j$ y+ y, S& ?4 g
<?php
$ B7 P0 V/ t# }* g/ ~. {1 ^8 vfunction GetFile($host,$port,$link)
1 ^( }) @9 X: g/ C{
7 [! Q: P% w4 S1 a) Y6 K# \$fp = fsockopen($host, intval($port), $errno, $errstr, 30);
( {9 Q9 @, F" y$ `if (!$fp) {
! Z( o3 X0 p/ oecho “$errstr (error number $errno) \n”;
+ M; [! ~- y; w7 }5 B3 G} else {
/ M+ M/ b( j) s+ {; |1 |( }8 w$out = “GET $link HTTP/1.1\r\n”;
8 C, k: ]. Z' j- M$out .= “Host: $host\r\n”;4 R) V* {* v, k% T
$out .= “Connection: Close\r\n\r\n”;, v* X* ?$ C6 R- I: N8 {5 I
$out .= “\r\n”;% H) z" a( x) K9 G; \8 E
fwrite($fp, $out);
( B, E7 p8 q# w& k9 k$contents=”;
0 ?1 O! u- Z/ V- y; B3 X0 n4 j& twhile (!feof($fp)) {" U' O5 |  w3 o6 ?# i
$contents.= fgets($fp, 1024);" Y3 Y5 r  V2 e& G" t
}
. I* r( Z+ \4 D2 Hfclose($fp);3 k' [) f/ e% k, c2 Z+ M2 H, W
return $contents;
/ V1 v$ f9 A0 l  v}6 C4 p  z! c* E% v& w
}
# Q- t; t; L" M! ~7 T/ y* R?># N- `1 p# G# O% ]: @. V6 M
复制代码( m: b( O. h+ ~+ z
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。: s% k( V6 a8 i0 X
  PHP curl_exec() function:
8 H- w. p, ?. \% M<?php" f# i& F2 x3 k% y; a! G
if (isset($_POST['url']))( X% k, h5 y" Y
{
8 ?, b, z: g3 V& U, }/ v- [9 z4 w# g$link = $_POST['url'];
" W" P# F( k. ], l$curlobj = curl_init();5 k6 e% I6 ?$ I) W* a4 M: F
curl_setopt($curlobj, CURLOPT_POST, 0);
7 n8 L/ Q# u) t6 C, t* icurl_setopt($curlobj,CURLOPT_URL,$link);) q' ?" b5 t6 v6 {* o% w
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);4 ^& l8 ~4 O% `% x
$result=curl_exec($curlobj);
9 w0 y: \2 ]% ~/ h% H4 @6 S2 D( J: C7 ecurl_close($curlobj);, S9 L! ]5 P0 l/ Y3 s
8 D% @' k: T1 z9 u" K- @4 |1 Z+ G  Q
$filename = ‘./curled/’.rand().’.txt’;* I/ `" l; Y& \, z) [
file_put_contents($filename, $result);
2 {- e  u6 ~/ [$ zecho $result;
4 S* q: D! d/ C! y) J& H}1 b9 O# e5 y( w% E1 A; E! S
?>
; [3 J2 H0 b9 U复制代码5 e+ H% B. `- G5 ?, b
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。' L; t: p1 I) @: v
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
  k$ A8 n4 L: W1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,- W6 M+ E- u8 d& w
2。开发弱势运行的程序在Intranet或本地Web服务器7 I+ o* M2 m+ A( L6 f
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)$ `7 u. A3 y& ^' v% ?* ?! v  X$ h
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为" K% V; ]- i' x! @. ?/ i
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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