每天安全。。
Feb 25

条形码XSS 不指定

woyigui , 21:25 , 网络安全 , 评论(4) , 引用(0) , 阅读(414) , Via 本站原创
只看图,等成功了再说话。
Highslide JS

Link:
XSS, SQL Injection and Fuzzing Barcode Cheat Sheet
http://www.irongeek.com/xss-sql-injection-fuzzing-barcode-generator.php
Tags:
Jan 22
   在javascript 事件中,当参数是经过编码的值,javascript 会将期解码进行执行,如下代码。
<a href=# onmousemove="&#97;&#108;&#101;&#114;&#116;&#40;&#47;&#119;&#111;&#121;&#105;&#103;&#117;&#105;&#47;&#41;">xxx</a>

另外,由于 javascript 支持 函数参数可以是 函数特性,如下代码:
<script>x( alert(1) );</script>

利用两种特性,就可以引发如下的安全问题:
<a href="#" onmousemove="xxx('&#39;+alert(1)+&#39;',44);return false;">woyigui</a>

当 javascript 代码经过编码带入页面,可以利用事件执行时解码的特性对单引号进行闭合,然后利用 函数参数 可以是 函数的特性进行代码。该方法不能直接用于 《script》内,比如如下代码是不能执行的:
<script>
xxx('&#39;+alert(1)+&#39;');
</script>

由于如上问题,在特定应用环境中,处理与解决 DOM 型XSS 的时候,将更具有挑战。解决方法就是在解码后,再次使用 \ 符号对其处理,但是考虑到特殊应用可能有所影响。
Tags:
Jan 8
   因这个 0day ,看了一下代码,发现 common.inc.php 文件中包含如下简单的防范代码:
if($urlxssdefend && !empty($_SERVER['REQUEST_URI'])) {
        $temp = urldecode($_SERVER['REQUEST_URI']);
        if(strpos($temp, '<') !== false || strpos($temp, '"') !== false)
                exit('Request Bad url');
}

用于防止XSS攻击,只支持反射型的,在某些环境下是可以绕过的。估计是N早加入了,估计是我out了。。
Dec 23

curl 库是一个免费的超大的客户端URL传输库,官方描述为:
引用
libcurl is a free and easy-to-use client-side URL transfer library, supporting FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS and FILE. libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, Kerberos4), file transfer resume, http proxy tunneling and more! ]

   如果我们想获取一个页面,可用如下简单的代码实现:
PHP code:
<?PHP
function get_url( $url ){
        $ch = curl_init();
        $timeout = 5;
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_VERBOSE, 0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
        //curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
        $result = curl_exec($ch);
        $info = curl_getinfo($ch);
        if ($result <> ''){
                echo $result."<br/>";
        } else  {
                echo "$url: \t no <br />\r\n";
        }
        curl_close($ch);

}
if( isset($_GET["url"]) ) {
        get_url( $_GET["url"] );
        exit();
}

接着,我们就可以通过 http://www.woyigui.cn/curl.php?url=http://www.google.com  此url来获取google的页面,并输出到当前页面,非常方便。
同样的,用python 更为简单:
#!/usr/bin/env python
import urllib,sys

f = urllib.urlopen(sys.argv[1])
while 1:
        buf = f.read(2048)
        if not len(buf):
                break
        sys.stdout.write(buf)

就可以用以下方式获取页面:
$ ./downlaod.py http://www.woyigui.cn/index.php

也可以用:
$ ./downlaod.py http://www.woyigui.cn/phpinfo.tar.gz >> phpinfo.tar.gz
来下载文件。
当然了,还有更多的脚本都支持 curl 库。

那么,正因为 curl 的超大,同样支持的协议的非常多,所以安全问题也就随之而来。目前可以想到的可以引起以下几个问题:

1、任意文件查看漏洞  
Tags:
Dec 22
  注: 发表在了第四期 Webzine,文中肯定有缺点,或者不好的地方。更多的访问:
  http://secinn.appspot.com/pstzine/read?issue=4

文/woyigui

目录:
一、前言
二、发现漏洞
三、漏洞利用
四、环境影响
五、漏洞原因
六、后记
七、参考

一、前言

  前一段墨西哥同学发现了一个关于http request header过长造成的一个server limit dos,
他那个是对cookie 写入一个超长的数据造成的。那么,我们可以根据此方法形成新的利用方法,Fuzzer http
头部进行攻击。只要造成WEB服务器返回40X 错误就行了。比如,向http的GET 头部信息的URL值设置特殊的符号,
服务器就会返回错误:
  GET /settings.aspx%22 HTTP/1.1   //此处
  Host: cn.bing.com
  User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; zh-CN; rv:1.9.1.5) Gecko/20091109 Ubuntu/9.10 (karmic) Firefox/3.5.5
  Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
  Accept-Language: zh-cn,zh;q=0.5
  Accept-Encoding: gzip,deflate
  Accept-Charset: GB2312,utf-8;q=0.7,*;q=0.7
  Keep-Alive: 300
  Connection: keep-alive
  Cookie: _HOP=I=1&TS=1260805184; OVR=flt=0&DomainVertical=omdublin&Cashback=cbtest4&MSCorp=kievfinal&GeoPerf=0&Release=dsf3
  Cache-Control: max-age=0

  会引起问题的符号:" < > %
  同样情况,任何http头部字段都可伪造,进行超长、特殊构造,让服务器返回错误。但是,此类的攻击只是单次的,不能引起持久性攻击。就不符合我们本文的目的。
根据http协议看到,用于持久化保存用户状态的一共有4 种方式,分别为:Cookies、Flash Local shared objects、userdata、DOM storage。因为这几
种方法可以持久保存用户的状态,所以在重新打开浏览器的同时,依然可以保持,也就是说假如我们攻击成功,就可以实现持久性的 ddos 攻击了。一般情况,我们大多数
都是利用XSS 漏洞进行 ddos 客户端,所以以下方法我们都使用 Javascript 脚本进行设置各种对象,以实现各类的ddos攻击。

二、发现漏洞  
Tags: , , ,
Dec 8
   除了用户手工通过IE8 的 Internet 选项,来关闭 XSS 过滤器之外,还可以通过服务器端脚本添加 http 头部信息来关闭XSS功能,当添加如下 http header 以后,XSS filter 将不起作用:
PHP:
header("x-xss-Protection:0");

ASP.net web.config:
<system.webServer>
    <httpProtocol>
      <customHeaders>
        <clear />
        <add name=" X-XSS-Protection" value="0" />
      </customHeaders>
    </httpProtocol>
</system.webServer>


更多参考:http://msdn.microsoft.com/zh-cn/library/dd565647%28en-us,VS.85%29.aspx
Tags:
Dec 4
   在现有的XSS攻击中,一般目的就是偷取cookie等重要用户信息、实现worm传播等功能等,却没有拿它做更有破坏力的攻击。
   该想法源于139 mail worm,但是在编写过程中只实现了在计算机网络中进行自我传播(这也是目前XSS利用的常见目的。),虽然它自带了接口给手机发短信,但因当时功能不可用,没完善起来。所以,目前来看,只能用于计算机网络中的扩散传播。那么,如果利用XSS worm进行传播,然后利用网站应用发送短信到手机(如果有的话),就可以达到在手机中进行传播的目标,实现计算机网络攻击到手机攻击的转变,当时我是想写一篇叫做"XSS 攻击最大化"的文章,当然,在很多情况,不像139有这样环境的。基本流程是这样的:
   xss Vulnerability --- > 计算机中传播 ----> 发送恶意手机短信 ---> 用户浏览后触发恶意代码,获取电话薄,隐藏群发短信、拔打电话等操作。
   之所以研究WAP WTAI协议文档,就是为了实现这个想法。在写出 DEMO 的时候,是可以实现打电话、发短信的。但是当出现发送短信、或者拔打号码的时候,必须由用户进行确认,不过当大家把焦点转移到手机应用上面的时候,该应用上面的漏洞也会出现很多的,就可以实现在用户不知情的情况下实现某些操作。
   上面只是计算机与手机进行连接实现攻击,另一方面,随着多媒体家庭的普及,计算机网络已经和家庭无线设备连接起来。近段时间同样了解一些家庭设备无线远程控制的资料,目前来看,国内家庭电子设备还是采用红外线进行发送信号的。因其设备的瓶径,红外发送的距离以及强度,小白大牛给出了如下实现流程:
  
电脑——单片机——无线发射模块——无线接收模块——红外发射——红外接收——单片机——控制电器

   从无线接收模块起,后面的都是在被控端进行布蜀,但这就会违背攻击的意图,被控端部分只能等科技的发展,家庭媒体的网络化再做调整了。如果按这种流程,制作出一款高强度通用控制信号发射器,就可以实现同城所有家电设备远程控制了。在国外,已经有一些高强度小型遥控器,比如:http://www.amazon.com/Logitech-Harmony-Advanced-Universal-Control/dp/B000CS1TLE
使用无线电频率(RF)和红外线(IR)无线信号来提供强大的完全控制您的家庭娱乐系统。凭借高达100英尺的无线范围内,该设备发射无线电指令到一个无线接收器,然后再由红外线接收执行指令。

    我想,随着科技发展,计算机网络终会和无线通讯设备、家庭无线媒体结合。那么到那时候,计算机网络攻击同样会其他的网络攻击结合起来发展起来。另外,本文的想法并不成熟,只是假想,也有可能有牛人早已想到,希望大家可以与我交流。由于近段时间的研究,发现想涉足另一行业是非常坚难的,单片机开发不说,无线协议是一定会的,所以还要慢慢的来。
Tags: ,
Nov 4
Author:[sh0wrun],[woyigui]
Date:2009-09-09
声明:该漏洞已报告并已修复,切勿用于非法目的。

原理分析:
     我们经常会用到的mail.139.com,由于对邮件正文过滤不严,导致存在xss漏洞。他们尽管实现了对style="xss:expression"进行过滤,但是可以通过添加/*  */绕过,如:
<IMG STYLE="xss:expr/*xss*/ession(alert(/xss/))">。
在添加/* */后,该脚本能够在IE浏览器执行。
同时,经过分析发现,mail.139.com中发送邮件的功能存在CSRF弱点;可以通过Ajax技术获取发送邮件所需要的mid值。另外邮箱的“通信录“中的联系人邮件可以直接通过javascript取出。
满足了编写csrf worm的3个条件,接下来的工作,就是通过编写javascript代码来实现了。

跨站代码:
该部分要实现的功能就是,触发浏览器去读取远端的js脚本,并且执行该脚本:
Tags: , ,
分页: 1/17 第一页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]