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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
# }) m' a3 D7 n5 [7 m4 Y" ZXSPA(SSPA)是什么?
& I+ _6 `4 N  a: R0 V. m如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
# t7 ~6 J/ c: dPHP fsockopen() function:. X  R  i0 t" q, K8 C
<?php5 V8 ~/ X; ?4 u  \
function GetFile($host,$port,$link)( K8 @% S+ X, U2 O
{3 l. _  B6 H% F! v* U$ d7 C# T& @  i0 V/ {
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);
4 H0 X# Q! F9 Q; r) B/ N1 lif (!$fp) {
, u0 S3 V" C8 Y% |1 D2 \# Y: c7 necho “$errstr (error number $errno) \n”;
8 E# T' e, n4 s9 Y} else {% f6 ~3 S' M4 T8 a: o$ @& g
$out = “GET $link HTTP/1.1\r\n”;
( F, m0 A/ T7 w* Y: v. a, V" h$out .= “Host: $host\r\n”;0 b# v; i: N/ V
$out .= “Connection: Close\r\n\r\n”;1 a+ v. h: J- U  M" U2 e
$out .= “\r\n”;* p8 m+ i' ~0 \# s7 v
fwrite($fp, $out);
: Q2 m- L7 J  u! j' M1 G1 V$contents=”;
5 i2 m5 c( _, E) l% Vwhile (!feof($fp)) {% O' R, C$ A0 X. t0 d
$contents.= fgets($fp, 1024);
4 i3 c) x0 @2 e0 f. F}
2 l/ n' \6 @* a' ]fclose($fp);+ i9 b" e) O3 w) \# u1 S/ G- T
return $contents;
% h! X2 C7 k, P8 [+ k}2 {+ [/ o* o4 l" S
}
/ [% u9 i9 x' A3 C# f1 L+ N?>
" k+ Z& w" Y& y8 S: f复制代码
7 y9 V6 I0 s. J  W3 F1 H此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。8 c! w7 A- h! L+ Q4 ~
  PHP curl_exec() function:6 c* a1 S( a* C9 r6 h$ J9 P/ @% m
<?php
* K' G* w$ T  j* H2 Z- [if (isset($_POST['url']))0 r5 o" {! E" ^/ h" G% K, d0 V4 t
{! d2 \# ~8 v& g% D" c1 @
$link = $_POST['url'];! ]$ v- d  K% Z  l, g7 C$ T0 f
$curlobj = curl_init();
  L0 B+ P: R4 Z2 ?curl_setopt($curlobj, CURLOPT_POST, 0);
* C! L/ A5 }; [0 t3 f* R( ~2 @curl_setopt($curlobj,CURLOPT_URL,$link);; Q8 Y# N! Y8 x. W
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
( N; C$ d6 C; l6 r0 H# c- R5 C& ^" y$result=curl_exec($curlobj);5 B, o+ [& }' `6 A* e' w
curl_close($curlobj);
/ \# v, ?( N# y: r% X
; Z' w8 a5 u$ o5 n$filename = ‘./curled/’.rand().’.txt’;
8 }9 U+ z  C3 hfile_put_contents($filename, $result);; O+ _7 @/ p; U5 P
echo $result;
7 O  ]$ B) ^: L' w2 j}
: k3 b$ H4 Y& P?>$ z4 F# H. N0 B+ q7 }# a$ F
复制代码: a" R- n# Y8 ]! A# m2 o4 g$ q0 s% `8 K
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。. l' |% G  Z& _1 e. \
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
) `8 Z( G7 P$ l! X# F3 Y, `1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,
9 z, g' `3 a& z2 v7 [+ l2。开发弱势运行的程序在Intranet或本地Web服务器
5 c. x3 ]( Q( \: @# K' R3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)
' U1 V/ P# `: |# Z4 Y  w! s4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为" I8 [' g  P4 T" o9 f* V* p
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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