找回密码
 立即注册
查看: 3086|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。% ]5 j. L9 j" y& ~! q
XSPA(SSPA)是什么?
9 j% N0 s  U, P' f# }% h7 }如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
9 ^* a3 e. ?$ r$ R* f$ `  ^PHP fsockopen() function:
' p0 [( d. y: U6 [: ^# F<?php* X) N  `: ~% K) [0 G5 ?# B( \
function GetFile($host,$port,$link)/ V7 D& B1 G4 q. R  z
{
/ s! L4 h% }9 o8 M$fp = fsockopen($host, intval($port), $errno, $errstr, 30);
8 }5 S" a) C+ x0 k- c" Q; `if (!$fp) {
) v1 f9 f3 k- ^7 o; C1 secho “$errstr (error number $errno) \n”;
6 {' r# }# u9 c9 O  {1 K6 e} else {
  u; Y+ a* W9 D1 U9 I+ o! _$out = “GET $link HTTP/1.1\r\n”;
; D4 g3 r" }9 b! H; t$out .= “Host: $host\r\n”;
2 @0 A  }& E& r1 ^: D0 ^0 I$out .= “Connection: Close\r\n\r\n”;8 v  i- |2 Q0 R+ \& e$ O
$out .= “\r\n”;
9 k; P  C% Y1 afwrite($fp, $out);9 r9 L9 H4 L& O8 x+ c5 b
$contents=”;
* o, I0 ?' \/ X" j0 X% Kwhile (!feof($fp)) {, {$ V2 d1 S/ B& O5 U: a0 J9 @2 m
$contents.= fgets($fp, 1024);
% A; j! }# H, ^5 L}
( o4 k7 m- J9 `- ~7 q& ^fclose($fp);
" }' Y  b- P* \return $contents;" u4 Z: v" t# v& [  z' B: T! H
}
- O# h/ ^  A" q: I/ o7 u- ?% J}( V' R% F$ t9 H  }) X2 `. Q
?>0 T! r; O/ s" |# `) J; R) l
复制代码
1 ?; V% V7 j2 @) `, j此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。" ?9 y8 V4 Z: c% l7 H1 b  X
  PHP curl_exec() function:
0 P6 C! m! I2 C) P. e* M0 e- v+ m<?php" O9 K5 |. m4 @. M1 n5 a# H. ]
if (isset($_POST['url']))
- U5 Q5 L( W7 W( P9 S8 N  m* j{: O% R! V* p9 u5 r* P2 X: L
$link = $_POST['url'];
! n( r! u5 I7 S/ ^$curlobj = curl_init();/ V1 {% x' j. A3 `
curl_setopt($curlobj, CURLOPT_POST, 0);
$ V9 `9 w  W% m2 _9 j; {9 q5 ocurl_setopt($curlobj,CURLOPT_URL,$link);
& B! i9 I! x" ~6 @3 \2 Gcurl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
( ?! K- a! O2 C! P$result=curl_exec($curlobj);
# |1 p% x* l7 Z( |: }- |curl_close($curlobj);+ V7 X( B* e5 J5 p9 C/ o

; w; ^2 k4 t! D* h/ \; l: z$ K" X! h. c$filename = ‘./curled/’.rand().’.txt’;
9 h* V8 {# j4 N% ifile_put_contents($filename, $result);
" D3 r0 E$ \# @' Cecho $result;
3 e$ A' i+ C+ t5 L& q3 b9 x}8 |. t7 V. {% Y' a
?>
! j/ w/ J( D1 b5 I4 R/ ^( N0 [复制代码
3 S; C& @& Q; L: g4 y- K3 |这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。5 \/ K' T7 j; B1 D% g; M( x
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
5 ~2 x1 _; h) j0 P' _# U1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,1 Q! H8 I% D" [
2。开发弱势运行的程序在Intranet或本地Web服务器
1 V9 e0 _: h4 w' M: f& f3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)
7 h; K+ l" B8 V8 y$ \7 T" U4 Z4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为  r' Y5 m! m" V7 L/ p
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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