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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
8 R+ t3 G- e; D/ |* v& O1 iXSPA(SSPA)是什么?3 v3 b: V0 H) h, r  T- q
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
1 i1 z3 V! v0 e% H8 C; p2 X" wPHP fsockopen() function:' ]) [4 G0 Z: Z2 T
<?php
- ^$ }. a5 v; C- @# E) W& A6 wfunction GetFile($host,$port,$link)& U! n6 n6 f; J& i9 j" L
{  o. D- M  w! q! l
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);
5 T6 {3 k( ?, g( dif (!$fp) {
& z# [$ b9 e! r5 P- R8 qecho “$errstr (error number $errno) \n”;) s( z4 V2 H) W" l" A* A9 m2 T
} else {5 Q0 N" N- @& ~- v& W+ ~3 S
$out = “GET $link HTTP/1.1\r\n”;! R+ L0 s# t0 |6 P6 j
$out .= “Host: $host\r\n”;$ j- i5 E8 |! o3 S# T
$out .= “Connection: Close\r\n\r\n”;
/ R+ M. I! b6 {% H( _$out .= “\r\n”;- B  k  H/ f$ |2 J8 O
fwrite($fp, $out);
( H$ }$ ?1 y# K2 ~$contents=”;
1 Z/ K! Q3 @. J3 u2 v# dwhile (!feof($fp)) {5 u* V/ I- W" G$ i, F
$contents.= fgets($fp, 1024);
2 \& G+ X  q+ C. n7 y1 r& C}
2 C6 V% J) _5 l. W) b% h  h' nfclose($fp);
1 z2 K. B0 P# q* v2 X' Zreturn $contents;) k% @- `1 c. s  O' w* A: }2 L# V
}9 `% \' z$ W7 y* ~0 E2 B  D
}, o2 L4 T; B! z0 v
?>
% ^7 J7 ~6 a& \0 t3 y4 v* i- W复制代码
! t* J4 g! b2 P8 h  T7 C1 C1 B* N此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。/ ?* C' E8 a' `5 [9 T
  PHP curl_exec() function:
7 G# z7 m' T7 d<?php5 w# H* f" u6 R  j7 i1 E
if (isset($_POST['url']))
  b7 N$ |7 ]/ C& d{, p" O0 Z& b8 j
$link = $_POST['url'];9 y! n' W, G" @* |
$curlobj = curl_init();5 n% y$ c* h6 I& ~
curl_setopt($curlobj, CURLOPT_POST, 0);, ]) H# H5 n; F
curl_setopt($curlobj,CURLOPT_URL,$link);/ ^; ^5 y+ C, P+ c, F, [! [
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);9 }; J" }+ P& z! }& J
$result=curl_exec($curlobj);
5 V$ p3 o: I- ucurl_close($curlobj);
7 V1 V* l1 V0 T& F0 y 3 F2 ?6 X9 B8 z3 P# X; l5 A
$filename = ‘./curled/’.rand().’.txt’;1 l; V. y" b( t, ]% F6 t
file_put_contents($filename, $result);
# w( m; l7 ?. c, M# Hecho $result;9 k* |" d" e7 `9 S% r; ~4 [
}. u! j# N6 G* c5 E; A' D* @& u
?>
% a2 O/ Z  E- }$ n6 E复制代码
/ g: p/ N$ S6 q8 G4 `这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
; o# c) u/ q( o. s1 n, [在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:5 b2 J9 I( z* x( p: J) _+ R; u
1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,0 }/ G  l7 w: E
2。开发弱势运行的程序在Intranet或本地Web服务器
. D* ]. l: `9 t  _3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)
% O: r) D/ c# q; X4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为
! K# ^  Z+ Z. V5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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