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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。- B1 Q' y6 b; V3 \3 h( P# l, F) r
XSPA(SSPA)是什么?
! }* b, O5 I: H# S! d如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。4 S* _5 o7 g$ b: g1 o
PHP fsockopen() function:" X% {; m1 I2 U3 V1 ?7 \) C* f
<?php
1 G+ ?, j# `/ s% ~function GetFile($host,$port,$link)! h8 Q' J6 e0 f1 G; B+ S- P
{* l' L1 `- D% S# g& v; e+ O
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);
- p& ]  D, T' _, q" C9 T, S: oif (!$fp) { ) w$ j$ e) A$ `' C6 r; l
echo “$errstr (error number $errno) \n”;+ j2 P! T" A! \2 {, i
} else {
4 V" D5 g, b7 o7 J* b$out = “GET $link HTTP/1.1\r\n”;
1 i* p( Z6 P2 p! C$out .= “Host: $host\r\n”;, b9 k6 R9 ~: h
$out .= “Connection: Close\r\n\r\n”;* [9 H$ y% O$ U  O2 d
$out .= “\r\n”;
, f' A5 b6 A3 dfwrite($fp, $out);7 G: P0 s5 B0 K" q/ l  d4 l# a( ^* h; A
$contents=”;
& ^# q) d$ i! C) F# Q7 bwhile (!feof($fp)) {
* s  l8 Z( U6 s2 m8 I- N; I* V: y$contents.= fgets($fp, 1024);+ D8 Z$ i( t8 J
}
2 @: D) d) f( \fclose($fp);
  n/ v" m2 d, w/ X5 Kreturn $contents;
9 y: S# z! Q4 I" X; w}: K8 {2 U( x& m
}, e' R( }/ y  A0 Y& t+ O
?>
8 u5 K! M) C" A* Z+ m: Q) ?7 {复制代码8 U1 u! }( v7 K0 d2 [( s8 ~
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。0 ^& C8 b  o% }& z( G1 D
  PHP curl_exec() function:, n6 ^! p% Y5 A# p
<?php' b% ~+ X  [, J6 L5 s2 o
if (isset($_POST['url']))
8 M8 `1 d" ]5 Q{
; x- n% H4 u2 d( C9 T$link = $_POST['url'];
; d8 |2 `; Y. x$ `& {, m3 r1 U$curlobj = curl_init();% i: o+ @1 V, Z9 @  i
curl_setopt($curlobj, CURLOPT_POST, 0);
( i+ U. s* D6 L% ~+ a" ncurl_setopt($curlobj,CURLOPT_URL,$link);0 C- @, [/ E! _* `, J' y
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);& w! I1 H) \% C0 z
$result=curl_exec($curlobj);
' i2 M$ @1 _4 c. @  I* {4 fcurl_close($curlobj);
: T' G7 |8 r* S7 x 5 J0 _2 B* s1 i5 @1 R
$filename = ‘./curled/’.rand().’.txt’;
$ {6 a3 p- G  \% y3 Y- ]( hfile_put_contents($filename, $result);1 h0 e( f+ G; o' J' H3 c' b
echo $result;
) V. @7 q4 T7 s- q9 Q0 p5 ~}0 f5 A. D9 \6 U; |. G, \
?>
$ z. }5 I9 J: N: G. o复制代码! {/ e4 m* m' V: O& w
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。$ l5 `2 W  _# X2 T
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
% z% L" K, [7 U+ R1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,) S2 F" V/ ?2 a5 c( \
2。开发弱势运行的程序在Intranet或本地Web服务器
7 H& N( Z  O0 i, s3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)
9 R9 g/ o& k& h3 L/ S7 i4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为( d7 x0 Y2 v/ {2 H( s
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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