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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。& j2 |, Q8 s8 C& s# q* v$ J
XSPA(SSPA)是什么?
) P2 F9 X# W+ g9 p- F7 H0 k如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
% r! A0 |( n5 q9 \# j6 r0 j) M( kPHP fsockopen() function:* ]& R) B6 y0 H/ {1 S0 N6 c
<?php
. F. D6 u: @* Y$ afunction GetFile($host,$port,$link). s! Y! p5 W% a* E& O; J' J
{: r' K* U) a: V. c. G- Z3 ?, Y
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);6 Z  R/ S+ d. O: B1 u/ V9 S
if (!$fp) {
' Y1 `( W, ?2 y! y( f2 x# _) O" W: ^echo “$errstr (error number $errno) \n”;
2 p5 S( p% O; \! e/ x} else {
; _$ [7 P3 B" {) E# j" Z) M$out = “GET $link HTTP/1.1\r\n”;
8 k) y: O) x& w( d3 _$out .= “Host: $host\r\n”;; m1 R  a0 C% {" R  d( v
$out .= “Connection: Close\r\n\r\n”;
8 f$ R5 T4 \+ W8 r' P$out .= “\r\n”;( ]2 \! Z! u* @  y: `" n
fwrite($fp, $out);7 F" z: M& s# `3 K! L# `. s
$contents=”;
- C1 g& |, `% W7 D; Q7 y4 ~3 Wwhile (!feof($fp)) {
# @3 v. U! {; D8 }$contents.= fgets($fp, 1024);4 N7 ?2 M# A5 T* Z
}. U! a' Z. I' |7 N( H
fclose($fp);
4 ?9 X- E4 Q: ~; Z5 hreturn $contents;
; _( ?; b0 o/ e/ J  k* m}0 t) G; L% ]* R( j4 A
}
9 J" l3 U* }8 b6 P?>; j9 |7 ^4 ]& W, Q; m
复制代码
5 l1 W2 k3 [: a9 M& Z1 O3 t此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。8 x. ]. H- H9 J; Q+ z$ M5 D. P6 D
  PHP curl_exec() function:2 j2 b+ {& ?0 c: d3 y% K" ^
<?php1 Y* f4 n* V! v7 t3 v& x2 C! X
if (isset($_POST['url']))1 [7 P+ d5 ?+ ?% H- }
{# }& m% ^8 a- D! F
$link = $_POST['url'];
5 a' l# g0 q7 n& C# Y7 \- T" O$curlobj = curl_init();
# ?9 V( ?6 C/ M3 Acurl_setopt($curlobj, CURLOPT_POST, 0);7 G, l! h. U1 [7 X
curl_setopt($curlobj,CURLOPT_URL,$link);* {2 t$ z3 x% q
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
0 g0 U# K4 V' I/ x$result=curl_exec($curlobj);' K# ]' B$ D1 c3 u6 b' j# F
curl_close($curlobj);
/ _; y& ?- V6 R6 L  a: J4 E " i9 s% D) [. o0 T! n: S$ d
$filename = ‘./curled/’.rand().’.txt’;
* S; X* Y9 f3 ]( i4 S) s2 hfile_put_contents($filename, $result);
: S9 ?$ Q- H7 g" Xecho $result;
3 P6 Z! S* r' E, p}' S* `0 c1 U- ^: _. |
?>  x! r! T0 {& H% Z. K: r) i
复制代码
  D. k5 y* v! X; u! U这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
7 J4 u4 T( y: g: S在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:# @8 C# s+ t6 C- U* R8 C) l: B
1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,: V# S$ `# t- R" _
2。开发弱势运行的程序在Intranet或本地Web服务器
" K! b9 z# K- l: R3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)
4 @: }& s2 L& D5 c9 X4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为
  i. ~* t1 T6 v' Q& Q3 V9 A5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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