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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
( f% l! n6 Z3 p# lXSPA(SSPA)是什么?
. d4 V* h; {0 `6 B如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。0 a3 M$ j! j, C; E* y. }( c
PHP fsockopen() function:- [% Q- ?1 b( ]( W- p
<?php# Q0 P( ?, w5 f; [# Z" _9 n; k* k; b
function GetFile($host,$port,$link)
0 W; r, F& H+ V& |% [2 Z{+ R5 u) l; v, V( C& \$ H
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);
0 e4 S2 P2 S  c- Lif (!$fp) {
( q( O5 H' l7 |/ ?( l8 Necho “$errstr (error number $errno) \n”;
( }9 r( i* t6 l} else {
; [' _* x# |' a: E- c( O8 p$out = “GET $link HTTP/1.1\r\n”;$ `" Z2 ?: G6 Z  [
$out .= “Host: $host\r\n”;
/ a5 C7 T8 }. `$out .= “Connection: Close\r\n\r\n”;
- |6 c; T' M* p  L) O$ l0 c$out .= “\r\n”;
1 [- U, h$ h( d3 \. Q/ x; Wfwrite($fp, $out);
. r( z" g! s& B! ]$contents=”;
* j) v- K( m+ p& V; vwhile (!feof($fp)) {+ [- c; j: f( C  k1 q
$contents.= fgets($fp, 1024);7 {& k+ S" e$ `2 ~* U5 a4 I1 {
}- e+ F/ D; o, m( ~
fclose($fp);* b1 D9 e. A$ q( O5 s% \
return $contents;. D- `4 R- h& d3 ], W
}
6 h" N: H0 ]$ }& c& {+ M# K, b}2 {1 B7 k) s! S4 \  `. h
?>
7 ~5 P. f& S0 S! d4 c, N5 Q- B2 _: S' Y复制代码/ T3 ]# u& Z1 R; w3 A# O6 Y7 z
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
0 H1 p1 ]; M' M, h  PHP curl_exec() function:
3 C! B' W; ?2 \" N) S9 i( ~<?php; _& N' o" B& v6 p
if (isset($_POST['url']))
( a+ k. r' j: }' D/ o6 B{
9 J9 P( h" f0 g/ g$link = $_POST['url'];
3 }; q- y( T) H0 J; S$curlobj = curl_init();7 O* W8 ]4 ]6 }: ~7 }! v
curl_setopt($curlobj, CURLOPT_POST, 0);
3 t, \" a; ~" a& d5 c7 h: |curl_setopt($curlobj,CURLOPT_URL,$link);7 w5 V: o$ ?+ t$ Z# \( n$ k
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);4 \. O$ x) }3 t* ^) Q
$result=curl_exec($curlobj);
5 X4 S! [! G1 _' ccurl_close($curlobj);* X* Y  Z% `5 ~+ O
6 ?' h3 q; b5 T; x2 v+ b. J2 ?
$filename = ‘./curled/’.rand().’.txt’;
" d9 B! o/ w; P* Kfile_put_contents($filename, $result);
. A  K. ~" u0 L! i2 Q* B& s+ pecho $result;+ L2 q3 q+ u- o7 y1 I
}& E- U0 j7 K2 F5 G# }5 M, {. m' }5 t7 H2 m
?>2 h3 ^& B! A' j& o! g' X  r$ B
复制代码
+ n' f  _  E. }! E这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
: A, n0 i/ k/ Z5 O! n' y# d在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
% R$ [  O  b+ ?& u9 Z' ~1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,0 I. M, l, B; f" ~. [, b9 n
2。开发弱势运行的程序在Intranet或本地Web服务器
, P7 L4 p' J/ ]3 Q8 g: P* M3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)
; x% ]- I' M1 I4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为
+ w6 }& K% c$ R% i6 K5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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