从“黑掉Github”学Web安全开发
Egor Homakov(Twitter: @homakov 个人网站: EgorHomakov.com)是一个Web安全的布道士,他这两天把github给黑了,并给github报了5个安全方面的bug,他在他的这篇blog——《How I hacked Github again》(墙)说明了这5个安全bug以及他把github黑掉的思路。Egor的这篇文章讲得比较简单,很多地方一笔带过,所以,我在这里用我的语言给大家阐述一下黑掉Github的思路以及原文中所提到的那5个bug。希望这篇文章能让从事Web开发的同学们警惕。关于Web开发中的安全事项,大家可以看看这篇文章《Web开发中的你需要了解的东西》
目录
OAuth简介
OAuth的Callback
第一个Bug — 没有检查重定向URL中的/../
第二个BUG — 没有校验token
第三个BUG — 注入跨站图片
像程序员一样的思考
第四个bug – Gist把github_token放在了cookie里 ...
程序员疫苗:代码注入
几个月在我的微博上说过要建一个程序员疫苗网站,希望大家一起来提交一些错误示例的代码,来帮助我们新入行的程序员,不要让我们的程序员一代又一代的再重复地犯一些错误。很多程序上错误就像人类世界的病毒一样,我们应该给我们的新入行的程序员注射一些疫苗,就像给新生儿打疫苗一样,希望程序员从入行时就对这些错误有抵抗力。
我的那个疫苗网站正在建议中(不好意思拖了很久),不过,我可以先写一些关于程序员疫苗性质的文章,也算是热热身。希望大家喜欢,先向大家介绍第一注疫苗——代码注入。
目录
Shell注入
SQL注入
跨网站脚本注 入
上传文件
URL跳转
Shell注入
我们先来看一段perl的代码:
[perl]use CGI qw(:standard);
$name = param(‘name’);
$nslookup = "/path/to/nslookup";
print header;
if (open($fh, "$nslookup $name|")) {
while (<$fh> ...
HTML 安全列表
下面这个网站罗列了,几乎所有的关于HTML 5 在各种主流浏览器上的安全问题,这些安全问题很有可能将会是黑客攻击你的网上的敲门砖,他们几乎都和Javascript都有关系,你就要好好注意了。
http://heideri.ch/jso/
下面罗列几个:
1)<table background=”javascript:alert(1)”>
IE6,7,8,9,和Opera 8.x, 9.x, 10.x 都支持这样的语法。
2)<meta charset=”mac-farsi”>¼script¾alert(1)¼/script¾
这个问题会存在于所有的Firefox版本中,可以让用户进行XSS(跨站脚本)攻击
3)<script>&#x61;l&#x65;rt&#40;1)</script>
在<script>和<style>的TAG间,根据标据,其可以使用这样的字符来运行脚本。这在所有版本的Firefox, Opera, 和 Chrome中都会有问题。
4)({se ...