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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
5 C/ U$ @3 c' b6 qXSPA(SSPA)是什么?3 w, r1 [2 P% L9 K
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
% b4 b( a0 |% v4 b' I- V% QPHP fsockopen() function:
1 Q& ]/ {( I5 ?  ^- g$ Z<?php5 O- t# a) Y% w* I) ^8 M
function GetFile($host,$port,$link)" p0 i- \# J7 w  z9 o
{
/ x% ]( }6 _0 v, V% ~  ?7 v& {$fp = fsockopen($host, intval($port), $errno, $errstr, 30);$ E2 h1 H' x; I$ {7 e
if (!$fp) { % C; k$ K' O' i
echo “$errstr (error number $errno) \n”;
" t! I9 i" {4 r2 V9 F0 {& D} else {+ V) [) g$ j, o* \# T0 ^0 O
$out = “GET $link HTTP/1.1\r\n”;/ o  g8 x: N; n4 J, [2 u5 z6 B
$out .= “Host: $host\r\n”;
: e, d3 j: G2 D" a, W: D$out .= “Connection: Close\r\n\r\n”;
8 _' x2 X7 u. j6 Z' e2 v. W$out .= “\r\n”;
, e& j4 q" b% q( K" Bfwrite($fp, $out);9 f- L8 i+ t* ?# q
$contents=”;
' U+ K1 Z0 \: K5 G0 f1 Iwhile (!feof($fp)) {
) b! g2 h9 j9 f% B4 l* j$contents.= fgets($fp, 1024);, I4 o: e* _' Q: T: o% y1 U0 l( W
}' n7 ?- A6 Z- a) ?2 z0 Y
fclose($fp);
1 |8 L2 V! I/ S4 Y6 freturn $contents;
# v3 s: R9 t; f}
$ k& i  d# e) Z2 I8 W}
5 i- _! t8 u" Q?>
/ K+ `9 e; Y! }2 n9 s5 W% O) }复制代码0 e2 O7 H: J! Q2 u' ~# [# i5 y$ y, ~
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
; `6 ~0 ~8 A4 D* J  N3 S0 O/ A. g  PHP curl_exec() function:$ {4 Z  N) k" i( J1 w
<?php
. ]) `5 u9 Y/ v# sif (isset($_POST['url']))2 O5 T8 n2 X% V5 J
{
( x4 J; `8 ^: k, P# Y# s9 ?$link = $_POST['url'];
. k: c  z/ G7 C7 l6 O  Z1 _$curlobj = curl_init();6 X+ Z4 n  e; j& c: e- O5 j. ^5 s5 R
curl_setopt($curlobj, CURLOPT_POST, 0);
2 K5 j; I* x6 a; ncurl_setopt($curlobj,CURLOPT_URL,$link);
* x/ g% Y) o2 ecurl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);/ ~7 J) g  {, B' U# Z
$result=curl_exec($curlobj);1 H- f3 g. m6 h. Z$ r! [" k+ s( Y
curl_close($curlobj);
, A! P" R0 r& B, D4 R
, w5 \* W8 U' c& u$filename = ‘./curled/’.rand().’.txt’;
' I+ O6 R" j0 X: ]" p$ qfile_put_contents($filename, $result);
1 U* [7 j0 f6 A5 L. ?6 M: @6 ?echo $result;
0 t1 [  ?/ j3 p; l}
8 c; T+ [/ G/ [$ ~" w?>
1 W- P$ Z! ~5 f复制代码9 U( k2 O  w: D2 R1 {: u
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
: T* s& X; n7 M: w: N在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
. b4 H4 ?' T( e& j0 s1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,; }6 [" ?* j9 G0 v% M& \
2。开发弱势运行的程序在Intranet或本地Web服务器
4 ~9 X3 _- Q4 L5 B7 O# b' B0 l4 |3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)7 ]1 \: q8 Z) g" p$ W9 T7 }+ _% d9 E
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为
- T. O" m1 t6 P/ m# v- k7 G5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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