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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
% a. o  g& {( f% r: N* n  T+ sXSPA(SSPA)是什么?
1 @8 X5 R' E+ d如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。# ]" D4 q8 j1 ]
PHP fsockopen() function:) ?- X; I4 j- A( j) X# l
<?php
4 S/ c. A7 K5 r: X" q, F3 kfunction GetFile($host,$port,$link)
# D/ z% q4 Z1 p2 K* r" Y. Y{
+ @8 f1 E& q. A/ `$fp = fsockopen($host, intval($port), $errno, $errstr, 30);6 p; f+ {5 _8 i, i: z9 a. J
if (!$fp) { * Z4 a5 W2 S3 N+ V6 G' B$ I
echo “$errstr (error number $errno) \n”;
  b! r5 B0 O* ~} else {
1 K% X' I# @2 U8 H* P( @: h$out = “GET $link HTTP/1.1\r\n”;! |& P" c3 e0 h) {: [  K+ A2 \
$out .= “Host: $host\r\n”;
; C1 Q1 Y6 W. P" _" V$out .= “Connection: Close\r\n\r\n”;% d! K( S! V8 W
$out .= “\r\n”;
) Z4 `& A2 h, w9 ufwrite($fp, $out);
; ^% I, [1 J5 b2 U$contents=”;. L  G. j3 D9 f8 D" m$ R: X' o; w
while (!feof($fp)) {% ?6 G8 x) }- E* d1 i
$contents.= fgets($fp, 1024);
6 U/ ~3 \8 h# o9 [5 |}
& T2 `% N" f4 Z/ d: Tfclose($fp);
, K. P, L( `. S7 L8 ^return $contents;
1 M" G* a' d4 H}
( ~% b, a& `# \! _}
. ?! r0 I5 T6 d  `/ R- o0 R$ A?>
7 Z  e9 D; G5 n& l复制代码1 S3 D2 ^+ Z: J. B' d
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。7 l1 u) q# z5 F. K
  PHP curl_exec() function:/ J  N% t' l4 z
<?php8 n8 A7 r! Y! E! ~" V& t
if (isset($_POST['url']))9 ~5 o. b; Y$ K$ W5 N! K" `/ E
{
5 K3 n: k; T1 q0 Z$link = $_POST['url'];
: x3 W7 P) |' u  s" b$curlobj = curl_init();' t% @( P5 e3 b3 ^! n% y% U& g  O
curl_setopt($curlobj, CURLOPT_POST, 0);2 {+ c+ m# L) t" R
curl_setopt($curlobj,CURLOPT_URL,$link);
& C& S! v: q" u! ~( I. ?/ Mcurl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);# Q: C4 i( e% b: P! P
$result=curl_exec($curlobj);8 x, T7 F7 e# Z# ^* l
curl_close($curlobj);8 t7 I/ M7 B. s5 c4 e2 o. o+ E) b
- b/ y( y& X$ ~: m; z7 U
$filename = ‘./curled/’.rand().’.txt’;  F/ X7 v6 y- {7 S$ Q
file_put_contents($filename, $result);& A# x( i) M8 E, M
echo $result;8 k3 X0 T, P. _4 V( `
}
* i6 R  S% e# B- C- c- }* k7 A?>
$ F) @  X- {- B* Q复制代码& S& b' n' b! L6 s" v
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
# k# t! i4 O1 a在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
$ b4 q8 ~! r; n% R9 |1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,
& q8 x4 n9 s) J+ U2。开发弱势运行的程序在Intranet或本地Web服务器) a& P& ]9 x6 d, n" ~; c
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)
8 D4 {7 \, N0 N9 _4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为) l+ P2 H- e* j
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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