最近比较忙,电脑一直有问题,还没有修理好。本来以前买个电脑才3000来块,现在刚好过保几个月,然后修下说要700多,如果换配件要1000多。这个电脑现在买个新二手,应该也就千把块,够黑了。呵呵,不说这么些了。今天我们继续分析京东商城Jsonp使用漏洞之二,未对资源访问进行授权。 对于Jsonp漏洞,这里我就不细说了,详细可以看:Jsonp常见安全漏洞分析(京东商城Jsonp 漏洞分析) ,从上面文章,我们知道jsonp是可以跨域名调用的。这个漏洞是:没有授权网站,可以直接在该站点访问jsonp接口资源。可能有朋友会问题:“这个漏洞有什么影响呢?”,一般我们常见有: 1.对于存在漏洞的网站来说:jsonp资源给外部调用,浪费接口资源,也给调用带...
阅读全文
上一节,我们分析了。选择不同编码可能会导致程序带来本身潜在的漏洞。这次我们以GBK编码为例,看看怎么样通过该编码注入到系统中。目前很多开源系统都存在类似的注入问题。我们先来,从一个Demo开始! GBK字符集漏洞注入原理 <?php
$u=isset($_GET['u'])? $_GET['u']:'';
$u=addslashes($u);
$sql = "select * from user where user='$u'";
以上是我们写的一个测试例子(GBK编码),现在很多开源系统,比较少的进行统一参数过滤,有时候为了防止注入,就直接对参数进行转义处理。我们看看,这样一个例子,我们怎么样注入进系统!
步骤
备注
1.传入值%D5%27 or 1...
阅读全文
很多时候,一个web站点,选择什么样的字符编码,我们不会太过在意的。象中文网站,我们一般用gb2312,gbk,gb18030,也可以用utf-8。但是,可能我们不知道,选择不同编码,可能因此导致程序本身设计缺陷。 多字节编码由来 我们先来看看最常用的,最小字符集是ascii,对应的二级制可以表示为:00-7F 编码 。它也是我们计算机使用最早通用的字符集。前期几乎可以表示所有英文字符。后来,更多使用计算机国家加入后,我们就想在计算机中表示中文字符。我们知道常见中文就有7000多个字符。ascii码就只有128字符,只有0-127编码位置,远远不够用了。因此,我们就开始制作更大字符集,并且保证兼容ascii编码。要支持更多字符,选择更大字符集。我们只能...
阅读全文
继续我们jsonp 安全使用分享吧!上一篇文章我们提到jsonp使用,常见2种类型漏洞出现!详细可以看看:Jsonp常见安全漏洞分析 ,今天我们来结合实例分析下该漏洞的测试、及利用过程吧!题外话为什么我选择是京东商城来分析它的jsonp 漏洞呢,其实主要原因最近6.18一直在做活动,我也买了不少便宜东西。现在该商城越做越好了。它系统也非常庞大,速度性能也很好。当时在购物时候,只是想看看,它的系统分离设计方面。通过分析页面http请求,发现有很多jsonp调用(也许跟换域名有关系,2种域名都可以访问,中间用jsonp交换数据),于是就看看,jsonp常见2种安全方面,有没有做处理。结果一测试。发现完全没有做任何处理,几乎是完完全全暴露出来。个...
阅读全文
JSONP(JSON with Padding)是资料格式 JSON 的一种“使用模式”,可以让网页从别的网域要资料。这个解释来自于互联网上面的答案。jsonp只是 一种使用json模式,之所以能够很广泛使用。主要用它来解决跨域访问问题。可以方便跨域名传输数据。一些是一个jsonp的例子。但是,正确的使用jsonp是至关重要的,用得不好。将带来重要资料把超范围访问,还会带来各自xss漏洞。JSONP跨域请求例子传统的ajax ,往往是 XMLHttpRequest ,读取一个接口,返回类似: {"Name": "小明", "Rank": 7} json值。一般我们都采用xmlhttprequest方法通过状态判断执行请求是否完毕。JSONP的使用模式里,该URL回传的是由自定义传入函数名,动态生成JSON作为该函数入参,这就...
阅读全文
技术瓶颈表现 作为一名web技术开发人员,也是我们说的IT人员。 刚刚入门时候,会发现有很强的兴趣。天天会遇到新的事情,可以不断做一些新的功能。到后来,会发现。自己所做的工作,技术点都差不多,然后感觉学习东西越来越少。最后,也慢慢对该行业兴趣不强烈了。 而后,慢慢有些油了。 总是感觉学习知识是在炒旧饭,很久也没有感觉到自己的提升。 这个时候,也就是我们经常说的技术瓶颈。 怎么样突破技术瓶颈 我们知道,行行出状元。并且能熟能生巧,那么我们做技术是不是做的多,也自然而然会成为状元,会生巧呢? 确实,作为web技术人员,做得多,对自己编码速度,处理问题提升会很多。 但是,却又不完全成正比。我们发现很多时候,看似我...
阅读全文
前面我们知道正则表达式有很多元字符表示匹配次数(量词),都是可以重复匹配前面出现的单个字符次数。有时候,我们可能需要匹配一组多个字符一起出现的次数。这个时候,我们需要分组了。就是用小括号来括起这些字符,指定子表达式(也叫做分组)。然后你就可以指定这个子表达式的重复次数了,你也可以对子表达式进行其它一些操作。这个时候,可以把括号中一组字符,看作一个整体了。 分组模式举例说明 如:查找字符串中,连续出现多个win字符串的字符。可以这样完成
<?php
$str = "this is win winwindows!";
preg_match_all("/(win)+/",$str,$marr);
var_dump($marr);
不用分组模式...
阅读全文
常常做了一段时间的web开发,然后就慢慢迷失了方向。感觉自己的技术到一个瓶颈,不知道下一步该要学习哪些知识。常常这个时候,很多人因为瓶颈,导致一直原地踏步!也有写朋友,感觉自己什么都可以了。 记得,我当时刚做1年多网站时候。就有那个感觉,觉得自己什么都可以做了。什么留言板、用户系统、论坛、产品管理等,然后去一家大一点的公司谋职,被一个招聘人员问了几个问题。然后,觉得自己非常自信,回答非常好!但是结果音信全无,指导后来过来几年后,对当时那段时间回忆起来,觉得自己当时勇气可嘉! 下面,这个图,是作为web开发人员,技能知识点汇总。里面常常包括,ui人员、js人员、web编码人员的所有知识点。但是,这3者之间开发中...
阅读全文
php header函数功能强大,可以给用户发送各种header头信息,只要header头里面能够发送的内容,都可以通过header函数来完成。如发送302跳转,设置cookie,发送401认证,发现last-modify等等! HTTP/1.1 specification for more information on HTTP headers,都可以用该函数完成。总之一句话,任何服务区response应答的头信息几乎都可以用它来发送。如:这里我们经常用header发送302跳转,会发现一个问题。在走查代码时候,遇到很多同人会有类似操作代码,如:<?phpheader("Content-type: text/html; charset=utf-8");//判断用户是否授权if('用户未授权'){ header("location:forbidden.php");}///下面是进行摸个记录操作//删除条记录,或者修改...
阅读全文
断言(Assertions)在正则表达式概念里面难理解,它通常指的是在目标字符串的当前匹配位置进行的一种测试但这种测试并不占用目标字符串,也即不会移动模式在目标字符串中的当前匹配位置。详细可以看看,正则表达式匹配解析过程探讨分析(正则表达式匹配原理),里面提到“零宽度“很多元字符,只是对特殊位置进行匹配,它们可以理解为断言。 断言元字符 常见断言元字符有: \b, \B, \A, \Z, \z, ^ ,$ 它们只是表示特殊位置,各自作用如有字符串AB,带位置表示为:0A1B2 元字符 意义(以上面带位置字符串说明) ^ 行首,字符串首 表示位置0 $ 行尾,字符串尾部,表示位置2 \b 字分界线,可以表示:0,2位置 \B 非字分界线,可以表示1位置 ...
阅读全文