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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
( u5 i2 F, }; w1 ~4 f4 ]9 K$ W& |XSPA(SSPA)是什么?$ C) j/ X% ?+ G1 r; d8 h8 E
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
0 t# y9 n) r1 |: W8 |PHP fsockopen() function:" i* E* @+ b' ?; |( j0 I7 Q
<?php% o) b% E# B0 A' s
function GetFile($host,$port,$link)% `' F7 O* a! ?" q
{9 t# D5 ~$ z0 u7 a! W
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);
: j" D  G; K0 }5 O! Sif (!$fp) { " r! `) g& t' L1 j! F1 u' k
echo “$errstr (error number $errno) \n”;
  a- w/ \; b. ?7 u2 D1 w} else {3 e+ N: u( H' h0 X+ b7 g
$out = “GET $link HTTP/1.1\r\n”;
) H7 e. a# R0 e' {# s8 N$out .= “Host: $host\r\n”;! ~; q$ E1 J" S( }1 X8 k
$out .= “Connection: Close\r\n\r\n”;
1 K, _  \- Q) z* @$out .= “\r\n”;/ e' s- k( i5 _8 g
fwrite($fp, $out);, R7 I* c* c' T7 s0 H1 P
$contents=”;
$ m$ R: L$ F- s- Q2 W: F5 `while (!feof($fp)) {5 k+ a8 q! Z1 G- I
$contents.= fgets($fp, 1024);
9 G$ Q4 S- ~3 Q. ?}# o& U+ P0 j, r! W) W* P4 {
fclose($fp);1 L- P, c, i& F3 f1 S
return $contents;' @& {3 O  A4 L# g4 W! E
}( J: K( C. ^" F5 ]- @/ H
}
& V; F* r- E* g4 c( m! x0 f?>
+ ]. u0 M+ j) J; e% Q0 I复制代码# o/ t# d+ j' m
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。& U2 Y" N7 {( j& R0 h, ^
  PHP curl_exec() function:
1 m/ `. w6 D; v) [<?php
9 Z+ {  s3 W/ @$ i1 n; iif (isset($_POST['url']))* l; P1 s: Z+ T) Q3 q2 p
{
/ T7 @5 H1 h7 c2 J8 l$link = $_POST['url'];
0 n5 h3 p" r, i6 ]& C# s$curlobj = curl_init();/ N2 j) v# {' Z- ^' y2 I
curl_setopt($curlobj, CURLOPT_POST, 0);$ z+ Q; r3 W: u' f: h2 P
curl_setopt($curlobj,CURLOPT_URL,$link);  Y5 t* n  @5 w# J. T
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
7 n% e! E9 S; n1 k) w! l$result=curl_exec($curlobj);
" P) I, E5 P5 Ecurl_close($curlobj);
5 _/ A# W# N0 f+ b* J% |
0 @( }; g' W% M1 l* Y+ _' Z9 @# h% Z$filename = ‘./curled/’.rand().’.txt’;
. U: u* l* ~  @6 W% \file_put_contents($filename, $result);( E" m* E2 j. `5 b& F* G: Q
echo $result;
- b, q/ H( V/ F! ]* Y- [& m}) b% h7 h% L+ V4 h/ i# t
?>; D# _: @- `" _( U6 B( a" M
复制代码
% ]' [, k8 }6 c( N这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
; }7 Q5 b7 C6 Y1 K在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:' n* n. c  o: r5 }+ u
1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,
+ @1 X& Y# }* a0 a) _2。开发弱势运行的程序在Intranet或本地Web服务器2 s* w& z' H/ Z8 h
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)
, e" ~2 z. M! X/ ]& ]4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为2 {# q9 u0 ?* j! ]3 |  X
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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