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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
2 L, {1 T4 ]9 @$ J" FXSPA(SSPA)是什么?
, ^8 U/ L% ?( b5 B1 W如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。6 u* {+ c, n( p
PHP fsockopen() function:6 X' s. L! F2 \3 l, U. W& \, t
<?php% K: ]: }" ]! D) q
function GetFile($host,$port,$link)
4 T. [6 }# c) p{6 ]' ]; \! D& a: c  ]% ~
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);2 F; l; o2 Q4 T
if (!$fp) {
/ H7 }! c( ?/ w/ oecho “$errstr (error number $errno) \n”;( T/ t+ a+ x- l! U
} else {
* ^+ k9 v! }/ P: }* {5 @: I$out = “GET $link HTTP/1.1\r\n”;. R% [9 _2 f) [6 |& c/ h
$out .= “Host: $host\r\n”;
6 j3 ?) u9 Z) b+ ~% M( ^$out .= “Connection: Close\r\n\r\n”;" K) L; c% X" N' q8 R. L# U8 X
$out .= “\r\n”;, O+ v; t, J' D+ {
fwrite($fp, $out);
( Y2 J+ ?1 J" J  Q# @$contents=”;6 C. k6 x9 ]$ Q6 G. M9 ?5 G
while (!feof($fp)) {' W& B# X# Z! D! a/ j. J1 t; s' R
$contents.= fgets($fp, 1024);5 y2 N, H- u- W
}
7 p1 w4 n  p2 d7 |6 _7 \fclose($fp);
7 c8 E5 o8 `+ M# m6 s/ R7 Ireturn $contents;
' x% E' s  z2 `3 p! _}, M4 N3 X4 Y$ y5 O% a! l, C
}
6 v# l$ Y4 ^  z$ Z$ B?>
# x, L& t% k% H" g* [7 i) Q复制代码9 Y( l) L) S4 W5 |* g- t0 V2 ]
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。+ C; o% }6 B' ]4 [1 ^3 v
  PHP curl_exec() function:
4 r- t- b& @2 K; [( s5 j<?php
; `5 M1 Z! Q5 S2 t. Hif (isset($_POST['url']))& Q3 i: O0 m; p$ ?- r1 V9 p
{
8 [9 \9 n* Q+ z, I1 p( O0 ~$link = $_POST['url'];9 m6 b/ k% e  i  w: C7 t
$curlobj = curl_init();
' j4 q* U5 K: |" k# P7 m" \curl_setopt($curlobj, CURLOPT_POST, 0);
/ T" H2 j  r% t  T0 U+ M* ^9 jcurl_setopt($curlobj,CURLOPT_URL,$link);
' ^3 P9 i6 A. Vcurl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);( P* x# F2 p$ i. ]7 V
$result=curl_exec($curlobj);% J  n" h9 z8 |4 u
curl_close($curlobj);# R% Q* F, x, ^; O
( T# |' C) ^. L3 ^4 o
$filename = ‘./curled/’.rand().’.txt’;
7 c# a/ a! w4 I8 n; [file_put_contents($filename, $result);
. S  b* n9 J  o% n2 v3 v8 aecho $result;4 S1 H6 V- \+ p  l7 m
}
0 c7 c+ w; t  e3 L?>
+ ]* z0 a0 q) u/ U. g4 p  I复制代码
/ U  Q7 F; Z5 r7 s' k8 v+ S: I这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。3 W3 X# o+ Y( l3 n9 m
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
$ J9 [' G# w0 p7 j/ B7 f$ ~1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,
; U( \& N, j) }  m5 A4 p8 p2。开发弱势运行的程序在Intranet或本地Web服务器
" \5 N, G5 M; T1 j9 f3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)0 Y* T. D* k2 M% V% P3 F
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为) M+ X5 A; D# H2 T% b! a
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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