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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
# B! U5 ?) T5 r$ A# |XSPA(SSPA)是什么?
9 E1 G# H$ P/ R3 Q: ?如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。# D" N1 a3 ]/ H! K+ }1 J) k6 U
PHP fsockopen() function:2 |' f+ O8 X5 U6 D" Z
<?php
8 B3 n+ I6 D, _: u6 d) @8 o4 Yfunction GetFile($host,$port,$link)2 u5 {' g" i& P' }
{# g6 A" b3 J# n" I( \+ E  x6 t
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);
' B; ?& V; D/ Y3 c0 jif (!$fp) {
+ B* l& v: F; uecho “$errstr (error number $errno) \n”;
4 B, q  l4 N: J4 o) S  s7 X2 L} else {
7 `: Q, k6 n+ G$ \3 k8 O9 U' R' w$out = “GET $link HTTP/1.1\r\n”;
) u3 ]5 Z7 {0 y" G# x$out .= “Host: $host\r\n”;' x: m+ S$ n* Q+ }/ G
$out .= “Connection: Close\r\n\r\n”;
6 [$ Z4 a* E8 n% Q0 H( a$out .= “\r\n”;3 u4 b. V* H2 u/ d  d: E5 ^! K
fwrite($fp, $out);) w4 [, K  j& X. m* P5 E9 z
$contents=”;7 c/ s. u) ]7 W/ ?- Q
while (!feof($fp)) {
- o8 u' o- @. i5 r' V2 a8 ?! `$contents.= fgets($fp, 1024);9 g5 M8 t) T. _/ j; L% v
}6 \* P6 ^7 h1 |$ N9 E2 M
fclose($fp);
7 U& ?- i8 r) ]6 U1 y, |return $contents;
  Y5 r. [# c4 Q; M" Z9 S}( c% i. k$ ?+ s# \5 ]2 i
}$ V5 u0 n4 b8 F& j
?>
. I$ r( K! i% I1 N& D  ?复制代码
3 L0 }4 ]. h8 X: r8 I1 H- W, }1 N5 W9 i此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。( [4 t* y$ _" p$ W
  PHP curl_exec() function:
  l: U5 M) R. N% \% r2 u<?php$ j- w7 y7 f8 O$ S; C
if (isset($_POST['url']))
+ Z1 o! x' Y# y/ O. h0 H{
, ^9 [' X$ n' V8 r; m# L4 ?$link = $_POST['url'];
. ]$ B9 G; n: W+ u7 E# N7 g$curlobj = curl_init();
" c8 {$ a7 }) C% r3 @, ?. Vcurl_setopt($curlobj, CURLOPT_POST, 0);  w9 R. |4 o' Z  r, Q
curl_setopt($curlobj,CURLOPT_URL,$link);# V# f; z( |2 S7 r: `- n
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
$ f) ~+ C) F( @$ k8 ~( V% L$result=curl_exec($curlobj);* \; k7 g9 ~3 |6 c
curl_close($curlobj);" p2 C) n, p$ N, x- c! C
5 R  P0 r# P5 r1 }
$filename = ‘./curled/’.rand().’.txt’;" {, s5 F: k4 X( E' ]
file_put_contents($filename, $result);
8 e0 p) t5 m. o4 D" c' S5 G4 Q8 Wecho $result;/ r& R9 N0 {: e9 G3 N+ I
}5 D1 P8 ~( S1 S. Y( R) E3 P
?>+ c, r+ u; z+ d& C* |: F
复制代码' f! a# K$ [  d9 g
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。7 e( [3 |6 R* y+ L* @* I/ Q
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
. ?( I4 g* w! E1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,9 i7 p' {0 V* u5 z9 Q7 s) V2 L
2。开发弱势运行的程序在Intranet或本地Web服务器1 R4 x0 g9 P; W: o2 Y
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)& R- c* y# d0 I- x# I
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为6 J% A- S3 d$ K( A" O! o5 f
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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