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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
% d6 _" U7 f! D2 Q# a' B# |XSPA(SSPA)是什么?
) y6 ]3 }2 |  w如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。6 g0 e9 r: n  `/ R
PHP fsockopen() function:
, S3 b5 Z0 j, v<?php" V2 t+ c+ `8 t' a$ D8 j
function GetFile($host,$port,$link)
, C% P# P  [3 H! c7 a1 O{
( L: F3 ^" d8 D4 w1 y! z$fp = fsockopen($host, intval($port), $errno, $errstr, 30);
7 j1 v& Z$ f" d7 a( E: b+ G+ uif (!$fp) { / J2 ~: A' R8 l; H$ ]0 Z
echo “$errstr (error number $errno) \n”;/ ?' h$ b2 Z6 k; k
} else {% J  R+ \. w+ z, l9 n" x$ A' E* x
$out = “GET $link HTTP/1.1\r\n”;0 \" P1 u) m. `0 j7 K
$out .= “Host: $host\r\n”;2 ~3 ~' ]* S5 f% r
$out .= “Connection: Close\r\n\r\n”;
8 ?7 x5 W- \- c5 D$ }4 \$out .= “\r\n”;/ o( h: U' {' ~: B* [/ f
fwrite($fp, $out);
, i, B8 w* b- t$contents=”;/ R- y0 q: R; ]* i) b: s' U( `
while (!feof($fp)) {2 l7 _! G/ t9 u; N! F7 |4 o
$contents.= fgets($fp, 1024);5 w& K" E. M" `* y0 H- S4 l" s$ l
}
2 |: {4 B5 }' W' h, qfclose($fp);& E0 O# @  x1 ?) w3 f4 h
return $contents;
' \: {+ y3 H* m8 Z/ C8 g; }9 V}5 A8 Z3 O$ p* D  ], V9 s! b
}
# R6 E( D; x+ Y# J5 W; I?>4 r; X8 x5 N; U7 g) \2 A" i& Z
复制代码0 P9 Z4 w) \2 q& M! h' {
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
0 M. p5 j- q* s) a  PHP curl_exec() function:4 K7 {( h. |% z0 c' O
<?php6 g9 Z% q# h2 m0 }# ~
if (isset($_POST['url']))) v) z1 A2 C1 E% O4 [! e- |) o3 x
{. }) h4 X" {* ]2 }
$link = $_POST['url'];
; b6 C9 C) q4 i* z& J$curlobj = curl_init();
- u+ \0 o( Q8 o0 V3 Gcurl_setopt($curlobj, CURLOPT_POST, 0);- V  a* ?% i' w: I8 }% m  M
curl_setopt($curlobj,CURLOPT_URL,$link);
9 k' _& {  u$ u  h% Acurl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
7 j# X- R3 Y6 d4 G+ Y$result=curl_exec($curlobj);+ }* }+ {: [, X# }
curl_close($curlobj);
+ r$ R6 P: m0 ?2 y- X- n$ s( Y8 } , M7 d! z: |0 b0 v
$filename = ‘./curled/’.rand().’.txt’;
; R/ J, S$ U/ B% H/ q3 s- |file_put_contents($filename, $result);% r5 V$ ]5 N+ A/ x5 v7 h" Y
echo $result;
; W8 d0 S# \+ E}
0 q, m9 y0 M. i/ n( W% h?>$ W4 `1 O% M9 g- [, M8 B
复制代码/ `4 M, R: x% w9 S1 `3 A
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。0 G! F& [( f: W. D) }) L
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:% O2 k$ _" g9 ?7 w
1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,
& F+ m0 [9 i- K  v2。开发弱势运行的程序在Intranet或本地Web服务器+ y6 I- q) K# n! L; r3 Q
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)
4 ^5 m' l0 z; z0 e+ J4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为/ ]/ X: h7 @, `/ Y
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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