基于发起源判断CSRF攻击的方法
当我们要利用一个CSRF漏洞去攻击的时候,常会在第三方站点使用资源请求的方式加载存在漏洞的CSRF接口,当用户访问这个页面的时候就会偷偷的发送http request到漏洞站点,即攻击成功。实例利用代码:
<img src="http://www.woyigui.cn/index.php?csrf=woyigui">
使用资源发送http request的方法很多,带上认证信息的属性如:SRC、background等,标签可使用img、script、css等。
正常使用html标签去加载所需要的资源的时候,对应的类型是一致的,如:
script的SRC对应:application/javascript
img的SRC对应:img/jpeg、img/png
任意标签的background-image对应的是:img/jpeg、img/png
和正常加载相反的是:我们进行CSRF攻击的时候请求的接口正好返回的 text/html 类型,这就与正常的请求有区别了。
我们看一下正常与CSRF攻击在浏览器中的发起源的区别:
//img src CSRF 对比 <img src="http://www.baidu.com/img/baidu_sylogo1.gif" /> <img src="http://www.woyigui.cn/index.php?csrf=woyigui" /> //script src CSRF 对比 <script src="http://www.baidu.com/js/bdsug.js?v=1.0.3.0"></script> <script src="http://www.woyigui.cn/index.php?csrf=woyigui"></script>
可以看到,区别是有的,script、img去请求的http api却是text/html的,这是有问题的,可能就是CSRF攻击。
当然有些站点常常就是请求一些text/html的类型,如callback回调函数api等。如:
//误报 <script src="http://www.woyigui.cn/my/alert.html"></script>
基于如上的对比与分析,我们可以在浏览器中这样做:
1、如果当前页面中的资源请求标签请求的是非正常类型资源,进行提示用户,或者阻断此请求;
2、为了解决误报,可配合其他防范策略,如:第三方域为黑名单等。
此文在刚逛物美想到的,如有缺陷,请找我交流,感谢。
php防注入
翻某程序时看到这样写,记录下来:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | function prepare_query($sql, $params=null) { $sql_block = explode("?", $sql); $sp_size = sizeof($sql_block) - 1; $param_size = sizeof($params); if ( $sp_size == 0 && $params == null) return $sql; if ( ($sp_size < 1) || ($param_size < 1) || ($sp_size != $param_size) ) return ""; if ($param_size == 1) { if ( gettype($params) == 'string') { $result = str_replace('?', "'".$params."'", $sql); } else if ( gettype($params) == 'integer') { $result = str_replace('?', $params, $sql); } } else if ($param_size > 1) { for ($i = 0; $i < sizeof($params); $i++) { if ( gettype($params[$i]) == 'string') $sql_block[$i] .= "'".$params[$i]."'"; else if ( gettype($params[$i]) == 'integer') $sql_block[$i] .= $params[$i]; } $result = ""; for ($i = 0; $i < $param_size; $i++) { $result .= $sql_block[$i]; } } return $result; } |
新浪微博批量取消关注
上次写了一段代码:新浪微博批量关注,反弹follow(http://www.woyigui.cn/2010/09/28/sina-t-follow/)。最近发现好友太多,无法获取想要的信息,把代码稍微改了一下,进行取消的: 阅读全文…
linux filename xss
一、关于文件名
大家都知道在 windows 下面文件名是有规则,定义了一些保留的字符,他们分别是:
< (less than) > (greater than) : (colon) " (double quote) / (forward slash) \ (backslash) | (vertical bar or pipe) ? (question mark) * (asterisk)
而linux下面是没有对这些大部分字符进行限制的,可以随意定义的,那么,我们就可以将 XSS Pyload 存储在文件名中,如图所示:

我们可以看到可以成功将 xss pyload 存储在文件名当中了。
二、利用攻击 阅读全文…
browser ddos 在业务中的应用
一般的browser ddos 主要用于让其浏览器崩溃,却未见到各种真实的在业务中应用的反攻击手段,最近遇到一个案例,攻击步骤如下:
1、攻击者盗取帐户,使用工具不断刷新页面,保持持久会话登录。
2、受害者发现帐户被盗,修改密码。
3、由于业务逻辑实现问题,不能让web登录的用户下线,受害做如何操作,都无法让攻击者退出。
4、攻击者使用有效的session保持会话,继续攻击。
由于业务逻辑问题,这里面最大的问题是:将用户的状态置为失效。
反攻击:因为目的是把用户重新登录,这里只要让将用户的浏览器崩溃,重新打开页面session失效,而此时,需要重新登录,由于受害者可以立即修改密码,所以攻击者就无法进行登录,就达到了我们的目的。如图所示:
反攻击中遇到的困难点: 阅读全文…
团队合作的艺术
“协同效应是生活中最高级的活动;它创造尚未挖掘的新机会;它强调并利用人们之间的智力差异、情感差异和心理差异。”
–斯蒂芬·柯维
A、团队合作的艺术
成功团队的特征是什么?让优秀团队成国卓越团队的原因是什么?他们的表现为何总是超越他人?拥有合适的队员可能让一个团队走向成功,但这并不能保证这个团队走向卓越,就如调色板中有合适的调料,并不能保证画出一幅美丽的图画。我相信,营造人人都能成功的团队合作氛围是一门艺术。将合适的队员放在合适的环境中,你一定会看见爆发的力量! 阅读全文…
成功循环
“每天放大你的梦想,然后毕生追求你的梦想。”
–佚名
任何事情都始于一个理由—你的梦想。然后是通往构想的路标,即目标。实现目标的策略就是你的计划。最后一步就是转动循环所必须的努力。这就是“成功循环”。它是正确的思维方式,是正确的思维顺序。
看着这个图,你能看出自己以前的思维在何处脱离了轨道吗?你曾经因为首先把注意力放在努力之上、而决定不做某件有价值的事情吗?你因为过度分析计划,因而为某个伟大的想法感到失望,你为此感到后悔内疚吗?或者你首先关注的目标,目标实现后却发现自己的生活在驶向错误的方向?这些都是我们没有遵从“成功循环”而犯下的常见错误。 阅读全文…
新浪微博批量关注,反弹follow
作为新浪T客的你,看着别人的关注度那么高,是不是心痒痒?来,我告诉你个方法:
1、去人气比较强的T客上 follow 他,然后等待有人观看他的T看见你时,反弹 follow。
2、直接follow你的朋友关系圈,比如我的同事,开头会使用:taobao|淘宝… 相关的,follow 后,他会反弹follow你的。
3、写脚本自动搜索并 follow 最容易反弹 follow 的T,然后等待。
明显第 3 种最棒,查看效果:http://t.sina.com.cn/woyigui
阅读全文…




最新评论