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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
3 ^' o9 d* @2 ]1 B) O0 pXSPA(SSPA)是什么?
6 i8 E7 |4 e4 [: ~- v如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
, I, h7 B  K0 ?6 ePHP fsockopen() function:
5 v7 E/ e1 Y4 u<?php
8 B3 R8 R! |. e- C4 tfunction GetFile($host,$port,$link): Z/ ?! w0 t9 a6 @) d; S1 @# y
{
9 F- [5 j2 |6 m$fp = fsockopen($host, intval($port), $errno, $errstr, 30);
( k/ K1 A6 J; E0 q) R5 s( Dif (!$fp) { , S6 F1 |9 V. j8 l
echo “$errstr (error number $errno) \n”;0 F7 K# U0 O. ~8 l% K2 v3 H+ r& W4 W% s
} else {, s* G$ h# x; v4 I0 \. t# H
$out = “GET $link HTTP/1.1\r\n”;: @& F0 c+ Y: E1 }0 Q+ h! T7 P
$out .= “Host: $host\r\n”;% e+ k* a- M# i; c2 Z
$out .= “Connection: Close\r\n\r\n”;
% C4 ^, J& l- ~0 d3 ^# ^+ ?$out .= “\r\n”;
$ a, s) N& H- S# Hfwrite($fp, $out);
1 i1 V  A, E) U' I# f$contents=”;
  z3 n' b2 b* Z- P+ P0 Rwhile (!feof($fp)) {, L$ J4 E1 l! m: v1 z
$contents.= fgets($fp, 1024);2 h* [' S* e/ {7 W
}
. M- i2 k% H9 D8 G4 t8 ofclose($fp);# s/ n- v3 S# b% i7 B: k
return $contents;
1 I' M9 x& {  K}1 @6 i$ t: H# k3 o. Z
}" l$ @4 @7 [* ~. {9 [2 s( ?
?>
6 z2 U  O+ _) W1 G& I& \% @复制代码8 K! x% T, g1 M, A+ P; N$ n
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
% u% b' V- J( K) i! B- q1 W% C0 _$ R2 O  PHP curl_exec() function:
. c1 S: ^& g3 z<?php
9 K4 c& N; n( B9 P1 ~" d; eif (isset($_POST['url']))9 N! }. h( v0 }$ Z
{
  C: V$ r5 C! E! `$ B! p3 C- z! }3 r$link = $_POST['url'];
% D2 T; R, T1 L9 A* k$curlobj = curl_init();
& S2 J' ]2 Z6 ^: pcurl_setopt($curlobj, CURLOPT_POST, 0);
" ^9 I" M9 L& N; Q4 }curl_setopt($curlobj,CURLOPT_URL,$link);
: |9 }0 {( o) J; n$ X! H+ _curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
, ]3 c! h, m, `/ m( J9 p. P# N$result=curl_exec($curlobj);
$ U! v8 U) N: h( X7 ^curl_close($curlobj);
) X& O: U' r# `' `8 H: D & U7 \0 T% K" J. J0 `( k$ z
$filename = ‘./curled/’.rand().’.txt’;* r4 f, a) J7 @0 }
file_put_contents($filename, $result);* @8 G1 r4 L" r! M( B
echo $result;
6 h% j2 o' `/ t( ~, {. r}9 j3 L1 |" h, |) v2 a
?># Z1 J- o; S7 k% L% {
复制代码( d8 k, {4 N5 H
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。( F3 ?3 I6 k# K) |) `1 K- n
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
8 _: `; j3 |  q; [1 y  A3 H1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,
4 ^9 p/ @1 ~  M* F8 j" `2。开发弱势运行的程序在Intranet或本地Web服务器
% z" w; ]; L0 l, J3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)
9 `1 h; }- Q6 l4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为
. e, O/ V7 P: p2 i" G9 ~6 O5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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