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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
: c0 J& v" K! P! w; c  vXSPA(SSPA)是什么?
  R; u$ ~1 u1 C& I5 j& k% e+ [如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。6 r7 U8 m) {& D9 a/ t" S% @
PHP fsockopen() function:
5 @8 }% C- L# z' S1 t  |6 Z<?php
4 j6 `" p! r7 U0 E/ e; d& _: Afunction GetFile($host,$port,$link)1 c( a  h2 _# F: u( B
{
3 k6 r0 ^% Z; `, A1 Q$ h8 w& g$fp = fsockopen($host, intval($port), $errno, $errstr, 30);
! W) j! K1 l. |if (!$fp) { + s7 M, A" N+ H) G
echo “$errstr (error number $errno) \n”;
0 X/ j$ h( [5 h9 t! @8 v3 T. G} else {" o- Z2 S5 [1 v6 p5 L
$out = “GET $link HTTP/1.1\r\n”;
9 T& Y5 @7 n. F5 ^$out .= “Host: $host\r\n”;: i+ A  b- a% q) ]
$out .= “Connection: Close\r\n\r\n”;4 e1 E# V- ^% F5 B3 v, m
$out .= “\r\n”;
/ z0 F) i' C! zfwrite($fp, $out);# }" p( O3 B8 @4 g  g
$contents=”;6 m3 s+ j7 P% K+ q
while (!feof($fp)) {
0 h9 ^! C# ?, ^' g; b7 ?4 `$contents.= fgets($fp, 1024);
/ p3 z8 ]; f6 g, }( p  N% }# @6 x}
1 V$ Q) U$ i% C( K! L, Gfclose($fp);- g2 T2 |/ I" m+ T
return $contents;
4 i- v) U: H( q9 z: u, {: j}
0 u; l+ h6 Y: Z. p8 B. m1 ~+ @}9 P$ @" U! M4 j/ J
?>& Q, ^/ \- c  e) b0 t* R" C
复制代码
* k% ^: k. X+ N! [4 j) w此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。# m; U, t7 n2 a, Q5 z
  PHP curl_exec() function:
" O( S( H. p5 ?* p<?php. d4 K) y6 ]* P$ c
if (isset($_POST['url']))
) K: p, k. B: U% x. y8 I) s{
5 k5 H8 }7 Q$ D$link = $_POST['url'];7 e# Y& l7 |! ^# A  ~
$curlobj = curl_init();
/ L$ z- a! r  U* h8 Tcurl_setopt($curlobj, CURLOPT_POST, 0);
5 C/ N" l+ L1 O9 |; {* P$ hcurl_setopt($curlobj,CURLOPT_URL,$link);
' n( G' l5 d" k1 O6 ~( o; icurl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);: `5 }; G. Q) p6 l+ V3 f8 t
$result=curl_exec($curlobj);3 K4 Q0 B8 `, E  Q. R
curl_close($curlobj);4 r# ], c7 _" m1 x8 v) `* i
" j! D5 D8 h7 J, ]
$filename = ‘./curled/’.rand().’.txt’;
3 g! ~  w/ U( [. h0 p1 Q$ {file_put_contents($filename, $result);
: \' O8 L+ |9 a7 @& P: @( d+ Oecho $result;' N7 a7 o7 K( D5 M
}
) [! c; o0 Q8 Y1 f/ \* S?>
& v4 y, q% v; a) J复制代码
1 ~8 `9 X+ ?6 r" J这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。) _1 x: m, w1 E5 H# z) b, J
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:+ m3 O: K& H1 D/ L- F
1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,
6 K) x- y  T1 o2。开发弱势运行的程序在Intranet或本地Web服务器
& E7 I5 Q1 n- ]9 _6 u3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)0 T3 k& r, \, Q- y) x- ~" }
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为
6 E6 E' D) ^1 d' y9 c$ H5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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