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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。2 o7 W+ m; G0 c) w  \
XSPA(SSPA)是什么?" }) g: B1 E2 J" n1 O$ f
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。! d, G$ |2 D* i
PHP fsockopen() function:8 K, i3 n( j: R+ _* s
<?php( j! C# V2 [- f$ \
function GetFile($host,$port,$link)
# ~# q4 U, ?! @0 o1 v{
, v! F! f( N( l$fp = fsockopen($host, intval($port), $errno, $errstr, 30);
6 C2 M1 X& ?5 r' [2 _if (!$fp) { . r6 W" G% s) W/ i8 D3 p1 Q) _& z
echo “$errstr (error number $errno) \n”;
* H) P+ t: r" q} else {
4 Q7 K0 Q' c9 W& T5 x/ p/ K) n- g$out = “GET $link HTTP/1.1\r\n”;# v* z6 p5 E$ Y% S* f& A
$out .= “Host: $host\r\n”;  `5 m* u% X* S
$out .= “Connection: Close\r\n\r\n”;% z8 j0 I) B8 I+ U1 [9 a. {
$out .= “\r\n”;
9 \3 N2 {! P5 h) M  W4 Efwrite($fp, $out);/ e$ p  M3 i  q9 N2 \, z
$contents=”;+ B! F) H& v& V& P$ @
while (!feof($fp)) {5 q# l- D3 R; `  K) i
$contents.= fgets($fp, 1024);
2 k4 @# k! Q  F9 V. [}/ w" W' ^' ^  c6 P' _' N
fclose($fp);+ w2 i$ M  h9 ]& m* g* T) ]
return $contents;' x0 p0 L- h' E% d
}
  {. A( Q" }# a: ~}
1 R: }) K1 F* q8 n2 z$ y?># E. {( P, N9 C; B. j. d" K& J
复制代码
9 V* c  }; L9 D& @& {+ J( ?: `3 g此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
0 B. l) i5 t0 N+ [* |4 M  PHP curl_exec() function:' M; J1 D) O# Q3 U; A
<?php
- v, ~! O& |) D' b6 nif (isset($_POST['url']))! T' U6 M  v: l
{
+ v& p, ^/ Q0 M8 o  M0 J9 E$link = $_POST['url'];/ Y; w& n$ F" c( b/ t1 Y! x
$curlobj = curl_init();
! Z. }' s" N% a5 Xcurl_setopt($curlobj, CURLOPT_POST, 0);& |! h0 C4 i% x; t6 S* a
curl_setopt($curlobj,CURLOPT_URL,$link);( w9 r1 `1 _* u+ r' {0 h
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);4 ?, V7 q( x: ^3 Y4 @. z5 j: B/ R4 i
$result=curl_exec($curlobj);' g. _0 Y% l! E# z) ?8 L! D
curl_close($curlobj);
0 g9 M& k1 s7 Y: Q+ V& C$ V ' c' t: N, M: [
$filename = ‘./curled/’.rand().’.txt’;9 e, X7 D1 q& E
file_put_contents($filename, $result);2 N  a2 H! Q# H) b1 n; ]$ c
echo $result;
  w2 g" U' t3 \}4 z5 x" Z+ ~4 h1 J/ X  t
?>
6 C, h8 o9 H; u. ?. ^# {2 y复制代码
3 Q# ~  X, |' S# N1 _$ G, v这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。) w7 ]/ U2 L/ A
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
1 w( F3 H: W" d& y" ?1 {) r; c1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,
( r2 G6 H) I& L# M* H" J. D2。开发弱势运行的程序在Intranet或本地Web服务器! c, R! C3 A, W* q$ z2 I$ d
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)) c7 n( d2 o+ C# z3 G
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为4 [0 }) T" ^0 w( X1 _
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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