找回密码
 立即注册
查看: 2923|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。) ^  H8 G/ m( ^! ~
XSPA(SSPA)是什么?6 m: ?: X  a/ f
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
0 x2 Y6 C9 K" g9 Q1 s: APHP fsockopen() function:1 |. L6 X4 ~' ]) `- m' S+ ^0 S
<?php
% N% ]7 b0 r, s4 H, Nfunction GetFile($host,$port,$link)
  |* D3 @! h: L# C0 O' M3 q{
# M% i% J4 w0 T0 f7 H: H3 l$fp = fsockopen($host, intval($port), $errno, $errstr, 30);: u4 s7 I/ o  [# L- I  D9 Z# a' ]4 V
if (!$fp) {
- h# N# m, Y  v$ `; j# n; eecho “$errstr (error number $errno) \n”;" d3 N4 ~" Q2 }
} else {
, |7 O6 ^& L8 k3 ]' \$out = “GET $link HTTP/1.1\r\n”;
, n5 i5 q& I4 T' z) A$out .= “Host: $host\r\n”;3 q+ `3 O0 s3 F+ Z6 T4 r1 o
$out .= “Connection: Close\r\n\r\n”;: f& [! S; j, |  L5 \& ?
$out .= “\r\n”;
5 G6 H0 D! p/ ]  x" mfwrite($fp, $out);
5 o; \5 c2 @" C2 Z) E$contents=”;
+ ]! ^9 P( T2 ]" kwhile (!feof($fp)) {
3 U6 K4 j5 Q2 _0 N, e% x; [$ r$contents.= fgets($fp, 1024);: \+ |, b; K- O9 e' d
}
, {2 S4 l8 m7 P3 r& j& F' y5 }4 Ufclose($fp);
8 @( R; d$ o$ m% ?return $contents;) T9 O/ V  b% T3 _9 _
}
# X. B* J3 ^3 k& W& b+ O2 Z}/ a* F8 B2 w" W5 Q
?>  r: X  F! Y1 w, M4 c2 [
复制代码
, g0 p4 d; p" y- v此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。+ \; _$ t3 V1 q/ l# o: Q# f1 t
  PHP curl_exec() function:
$ E" ^6 J2 e* \" e3 v* e<?php
5 l/ ]) E/ B5 L) ^. Bif (isset($_POST['url']))# C& c# i' T- x5 m  o
{4 s+ u5 Z% v% b- L
$link = $_POST['url'];8 y7 J2 ]/ w" j: ?- w6 T* L) G1 v! P
$curlobj = curl_init();0 [- D8 \  [2 ], C3 I0 P
curl_setopt($curlobj, CURLOPT_POST, 0);
1 l9 f2 E& P2 t: Scurl_setopt($curlobj,CURLOPT_URL,$link);! I2 |! o) |: W' H5 e
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
: K8 d* Y6 ~# B9 \6 r! }$result=curl_exec($curlobj);: i: b4 {3 t, ]
curl_close($curlobj);6 o% k" U: q8 v2 v$ t% h
; L7 Q0 y  @) E1 V/ \
$filename = ‘./curled/’.rand().’.txt’;
. E/ _: G% p6 M3 Y3 l9 L, d% i1 Bfile_put_contents($filename, $result);4 `, i8 [( b. z+ w+ X- x) C
echo $result;0 n  `. K: K0 ~6 \5 f8 O
}
' z9 {( s- z2 R. c" \- x0 L( n/ Q?>1 k: `+ @5 @& c3 l+ s
复制代码
0 n! q7 ]) {( g  W9 L$ {  v这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。2 J- e$ L8 {4 Y
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:3 z; x6 W7 Q, r2 V9 x& ~. @! N
1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,+ o+ ?; J3 w2 h) B, Q, G+ ?
2。开发弱势运行的程序在Intranet或本地Web服务器
' M0 i2 F; D0 A! l$ h2 q! C( j) h8 s3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)3 e/ B9 t1 o7 Y' M8 u
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为
3 D; V, R% v! A& m5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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