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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。  @9 l0 c" ^1 k$ ?+ S6 C
XSPA(SSPA)是什么?
: o, [# P% r4 `0 \9 R如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。$ X+ B. ?  D. j, v3 b% G$ |
PHP fsockopen() function:
. f9 O5 q" U1 j* x<?php
# s( y/ W1 N- Lfunction GetFile($host,$port,$link)
/ S8 d# n3 a% J# i; d/ Q# W{
/ }/ Z! a( A1 j: A3 O5 v/ Q- k$fp = fsockopen($host, intval($port), $errno, $errstr, 30);
/ r* ^8 t' Q8 F( p4 _if (!$fp) {
. i, l# |' e4 X, u; u; X  Fecho “$errstr (error number $errno) \n”;
! Y& R6 z5 X; u# B: P, R; ?( I} else {; X9 H0 K, Y% x5 u
$out = “GET $link HTTP/1.1\r\n”;4 o+ o/ |. x) f8 ~
$out .= “Host: $host\r\n”;
0 `/ z" {2 T* E% V: b$out .= “Connection: Close\r\n\r\n”;
* e+ r0 J) Z  l4 f8 I2 N2 X$out .= “\r\n”;
8 d* l% g& z1 o& Y; D) sfwrite($fp, $out);
2 ~6 v! u) l+ \/ W  H+ f$ j$contents=”;
3 q4 x5 J7 A  }" L& l; C/ Fwhile (!feof($fp)) {" g# o8 F/ e1 J
$contents.= fgets($fp, 1024);2 B2 Q9 i( s. e1 T! b2 r
}& p  {1 n1 ^' P; X$ q
fclose($fp);
5 @( ^5 b% [9 ?: C9 F6 k3 Hreturn $contents;: c. s9 h6 \& s2 t5 H" z
}
" l2 y# X9 w$ ]6 T- y}
5 ]+ @4 M6 H: g! T8 R?>/ g. j( e, Y" V3 q. I
复制代码
9 c4 T% o3 Y- A/ F7 R此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
7 G8 m- g+ C9 l8 w  PHP curl_exec() function:' X( X8 v: e1 U8 @7 _
<?php" M0 U  s. M/ P4 B
if (isset($_POST['url']))0 l/ S8 O0 Q1 x2 ^" }, R
{
$ c. Z$ S* s" v8 c  i$link = $_POST['url'];2 T8 N% s5 Z- Q* S' ~  }7 ^
$curlobj = curl_init();
- D' `+ x8 e1 J9 M  \curl_setopt($curlobj, CURLOPT_POST, 0);
% T# h7 l3 H$ K7 q5 V( xcurl_setopt($curlobj,CURLOPT_URL,$link);
7 K4 ]/ m9 i& u" O* D  [curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);4 Y4 p2 d8 m6 i( e% r& O. K
$result=curl_exec($curlobj);
$ t- B7 a1 H3 Xcurl_close($curlobj);
8 A3 j# B! X! y- [7 S 9 \$ I/ T- ~$ z" M# I
$filename = ‘./curled/’.rand().’.txt’;/ K+ o# \& m9 k# p/ g# _& `
file_put_contents($filename, $result);5 z! ?) M% `0 n  A( t9 P
echo $result;, b9 u) U8 y- S2 f% v
}
7 C) S6 K% v; D2 Q$ }?>+ U5 i2 D+ t8 z
复制代码4 f0 ^+ l3 O6 _% y5 `% f- }8 n9 r
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。% _8 b. b- G! B) n" ?! m2 }/ V* M+ w
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
% M8 p) O4 V" m, s" z1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下," P% r8 Q# m: J) r8 h) \6 j$ k
2。开发弱势运行的程序在Intranet或本地Web服务器( l# i( X* w4 {; ]! G
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)5 X' s  j) {0 e% r5 P5 k8 u) u- J$ N
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为
) V3 w4 t/ u& t4 D+ a+ W5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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