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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
  W0 }# O- y: R: U; RXSPA(SSPA)是什么?
" G+ x0 ~  x; _( X+ C如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
. W1 Y  `$ v7 A) C: z# m. wPHP fsockopen() function:
" [+ i6 e% b7 D' ~* Y<?php
' t" m1 n' X8 n# S9 O  |7 Yfunction GetFile($host,$port,$link)# q) `1 k" \. `# w
{
) s* T/ s: k' Z. t$ r9 @4 w$fp = fsockopen($host, intval($port), $errno, $errstr, 30);' W; S1 x* R) m' @6 o; B# f
if (!$fp) {
9 b3 V0 R& ~" S2 I$ r; U4 a" hecho “$errstr (error number $errno) \n”;
. }+ z6 V" {- {& _} else {
  J, p+ P8 j! ~# E! u$out = “GET $link HTTP/1.1\r\n”;
# q1 V8 I: ]( f; r$out .= “Host: $host\r\n”;1 V+ [; a9 H" S+ K
$out .= “Connection: Close\r\n\r\n”;
8 t( Q& z' r( n: {* E" N$out .= “\r\n”;+ D( J& o% [  v  r) G" y5 X
fwrite($fp, $out);  x5 o# E* c0 U/ J6 d' A/ D* H$ R7 n( I
$contents=”;. s& t( m5 p' d) z- V6 \5 O
while (!feof($fp)) {% n# ?# T* z9 e$ j1 u3 ]9 ~
$contents.= fgets($fp, 1024);
2 Y/ x$ o9 j' B}
3 s2 A: w0 N8 T" n: N. w, ^' Ffclose($fp);
3 T6 q& x$ R+ a7 Q' w/ U; |; Y, ?" preturn $contents;
" j7 t3 R9 T0 o1 L}
! g6 |/ b/ @/ g2 L! I* @}
" H' G: f7 r4 @2 P?>
% F7 `8 l2 ^2 W2 Q( D9 S复制代码, V6 I3 c6 l, D( a+ S* _
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。: i/ e4 s# T* U; h. z: R
  PHP curl_exec() function:) L  k$ r% ~/ [
<?php" B  H& M4 m, F+ Z4 X" @
if (isset($_POST['url']))" t  T3 b. R. R' _" j. \1 L6 U
{
7 C/ l5 n5 S3 {, @$link = $_POST['url'];
0 ?0 y7 ]! n1 z( [! T. k9 V# s$curlobj = curl_init();
& k1 g# ^7 S8 U2 M- n! M& _curl_setopt($curlobj, CURLOPT_POST, 0);
* F9 R; q6 i. \5 h  O( F7 Gcurl_setopt($curlobj,CURLOPT_URL,$link);" V; ~+ z3 S4 y& I: O
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
* p2 j: I3 [& b2 G6 |6 |. i$result=curl_exec($curlobj);
4 |* l+ n" u7 ^3 D% `curl_close($curlobj);
% f+ B3 J% q% B5 b" c0 `' I  [ ( R" [  u( C/ N( @# T
$filename = ‘./curled/’.rand().’.txt’;* k* V* l1 N8 i/ }8 h+ A
file_put_contents($filename, $result);
# P  D  o4 ~* Pecho $result;
: f( `" R- G0 e1 m: r}
4 f) Q$ K/ @* p?>/ u1 _+ @5 E& p2 J, F! t; b; k0 i
复制代码
0 d; y2 l5 E% N4 M  K/ E这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
: \8 V1 T6 W) q在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:4 v1 O7 |0 B( D6 A; I8 N# A4 u8 o& x
1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,
$ [! s9 r; T! O1 t! k# \2。开发弱势运行的程序在Intranet或本地Web服务器! E: w& j) c: j! ]
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)+ I; x, E2 Q* |& b
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为
6 P  X1 K  y! m: k" @% `) ]9 _9 ]5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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