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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。$ B2 c# o1 S% z/ f  z' Q+ t
XSPA(SSPA)是什么?( u& z. i0 g& s
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。4 q: d6 p2 a( M: f6 N% g- o2 x
PHP fsockopen() function:; S4 W( r  e. q2 f2 T! Q
<?php
2 ^! W  x# Q5 u4 U& hfunction GetFile($host,$port,$link)
9 e$ H6 q- N. c: K" i& t( k+ U( M{2 r" n# S/ c: D( @' F* h2 m9 I
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);' q+ _/ c& n6 q
if (!$fp) { 5 c, Y) A; B% D5 D( b( ^1 {
echo “$errstr (error number $errno) \n”;
% G" E9 e, }( Y# w- b" m' P0 U} else {5 l; u9 K  U  D7 |
$out = “GET $link HTTP/1.1\r\n”;
* D5 s4 O/ {  @7 F6 C# X/ I$out .= “Host: $host\r\n”;
. x- h% F6 {$ l0 T8 V. {$out .= “Connection: Close\r\n\r\n”;0 K! {) H8 V5 G7 |# y
$out .= “\r\n”;( v$ W1 Q4 d8 u
fwrite($fp, $out);
3 G8 w. U/ `4 l0 y2 @" a3 Q  p2 v$contents=”;% k; g3 K' F# l- {( ]
while (!feof($fp)) {' P% k* i. C/ h# u
$contents.= fgets($fp, 1024);; p- U* u, [7 N0 Q% l# {* b
}
% A7 d& x9 ~1 t& H7 jfclose($fp);+ \+ B# `& ]% L2 O
return $contents;7 u" w: Y, V  q; @
}
/ @- S( V* R! r: C}' V" [% R0 W3 C: A
?>
  x& E$ |6 k+ W8 V. O  R复制代码
) _2 m$ }3 }6 T  W4 J此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
$ d7 C) D: [6 A% D  u/ `  PHP curl_exec() function:
6 ]1 c- I- D5 L<?php
4 A7 R+ i0 R2 q9 Iif (isset($_POST['url']))
0 ?0 z' z8 `) I{
$ c- v! D" i  ~& ?& R3 K$link = $_POST['url'];
0 u2 \; ?) R5 a. Q& b$curlobj = curl_init();0 C  ?6 U) X+ n
curl_setopt($curlobj, CURLOPT_POST, 0);
8 W9 H2 U$ X+ Y8 J+ _( ^" \2 rcurl_setopt($curlobj,CURLOPT_URL,$link);" }( X& G( V& y+ f8 }; A
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
) B9 {3 M$ t1 T6 M, M$result=curl_exec($curlobj);
5 b; i* I# X0 a* |* {4 Rcurl_close($curlobj);4 m( G7 y: x+ y- k5 D6 C1 o) Z
5 W+ V; s0 z4 P/ R. o. W: e
$filename = ‘./curled/’.rand().’.txt’;' i* t7 H5 l* X0 V9 X- S' f
file_put_contents($filename, $result);( X2 x" g7 q/ `) O% G- o
echo $result;0 S( I1 A9 j3 U0 r( J) F1 S
}+ U: |  ]0 Z0 u, t+ f5 @. B) ~; k& U. J
?>
; c4 Y4 }; P) z复制代码
" j0 k2 n+ T3 N这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。) _, v9 `9 ?, x5 R; V
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
9 n6 q- ^6 j* e! x6 I) f1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,3 ]$ q9 g  U3 K4 n6 Y5 F& j1 g. i7 e
2。开发弱势运行的程序在Intranet或本地Web服务器
% f" {6 a/ ^+ D3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)% M& }; p+ o6 z# S6 @; i4 m
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为1 {. S9 e9 K. y. Q  e
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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