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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。1 L- I8 T! l/ b4 ^
XSPA(SSPA)是什么?- w" P% W- {& Z- ]5 b
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
# @. Y9 J) Y. @2 V7 t2 ePHP fsockopen() function:
4 C7 L( t6 r0 g! D0 [<?php7 y) g# X# p1 e! e
function GetFile($host,$port,$link)
+ r6 j1 ^# u* J{
* n9 C. ]9 _0 q* ]. b2 j  \/ x$fp = fsockopen($host, intval($port), $errno, $errstr, 30);0 e7 S* r3 A& p
if (!$fp) {
. }% F4 b1 M* d/ d' fecho “$errstr (error number $errno) \n”;/ l2 a, _/ @( D& K+ ?  f
} else {$ T& \' C8 {- w2 J" _
$out = “GET $link HTTP/1.1\r\n”;$ b$ j* ^/ v7 Y% S/ E& h" C
$out .= “Host: $host\r\n”;- m8 {! x: N8 Z: P
$out .= “Connection: Close\r\n\r\n”;
; Z& b& ^3 C" W* n4 C: E$out .= “\r\n”;
  z& u/ b$ o! R  n: O* a: u  Qfwrite($fp, $out);% n6 f; g( X1 u, T0 ^& u
$contents=”;
* z) J" V3 N) z( f# ]: zwhile (!feof($fp)) {. k3 J! @/ \8 V! h
$contents.= fgets($fp, 1024);! b7 A/ |4 U2 Y8 R1 K
}
. Y' a# M; b" g/ ]2 z  n' X- xfclose($fp);
6 d) N8 C0 P9 m/ Qreturn $contents;1 M4 j1 `0 w: `7 l8 l4 b% K
}; J0 G3 B' v, _, W2 s1 a! @, Q
}
! j/ B' p1 X7 f; p% g0 j?>& f2 i5 g! V+ k6 c' h$ d- `
复制代码! g% a8 n3 v+ H8 F$ j* s1 T
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。7 X5 w+ n0 r9 q! _! J
  PHP curl_exec() function:& W0 v6 t. P' R* z4 K' A
<?php' E  Z& p. A5 M5 j0 h- O
if (isset($_POST['url']))
8 {- C' |$ @1 c* i5 S6 r2 F6 i{
, P. C7 I" M& r$link = $_POST['url'];
' B. a( S1 i+ z4 u6 w7 G$curlobj = curl_init();2 i+ `& b5 D0 M$ M9 e+ }* p: C& U
curl_setopt($curlobj, CURLOPT_POST, 0);
/ P2 M+ a. X9 ocurl_setopt($curlobj,CURLOPT_URL,$link);
7 j+ g/ E- P3 L9 r- b+ N7 ]0 G3 p9 acurl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
5 D* z. h2 z4 Z" E1 q- ^4 D$result=curl_exec($curlobj);
! s4 K9 o$ v! e1 m; }5 a: wcurl_close($curlobj);
, S, R* U  e; `, K
# D4 o' X' P: H$ o1 u/ F! \- G$filename = ‘./curled/’.rand().’.txt’;5 d6 V: k' e! Z* H8 K$ M6 p
file_put_contents($filename, $result);7 T+ k- B, C4 `4 i
echo $result;% H% K; @# V; _9 D9 X
}6 V8 q: P* x: {/ y* e- K
?>
+ v/ U1 A! t# Y' X; `7 |复制代码- J' ?2 {9 e! Z( j
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
6 ]" w- q) M' E& x. i; y4 b在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:+ X/ x+ n; B- R, Y  Q
1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,; |! a( b  u7 V! F- t# [
2。开发弱势运行的程序在Intranet或本地Web服务器
$ y$ y6 W9 w/ }+ _  @3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)
* U6 E3 G7 S* h/ {2 m4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为" b* _, c& x0 i5 E; P# Z& p
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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