[译]CERT Secure Coding Standard — C语言安全编程规范(3)
08. 内存管理
规则/建议条目全称
例外
笔记 /备注/点评
MEM00- C. 在同一个模块、同一个抽象层次上分配和释放内存
不遵循该建议所导致的常见软件错误和漏洞包括:内存泄漏, double-free漏洞, 非法访问已经释放的内存,写入已释放或未分配的内存区域
MEM01- C. 在调用free()之后立刻给相应的指针赋一个新值
MEM01- EX1:如果一个非静态变量在调用free()释放内存后就立刻失去作用域(例如子函数中的一个局部非静态变量), 则没有必要执行重新赋值操作,因为该变量已经不会再被访问到。
一般赋的新值是NU[......]
[译]CERT Secure Coding Standard — C语言安全编程规范(2)
04. 整数
规则/建议条目全称
例外
笔记 /备注/点评
数据模型定义了标准数据类型的存储空间大小。如char在几乎所有的平台下的实现都是8字节长度,long在IA-32/64都是32字节,但在64-bit Linux/*BSD下是64字节。因此,当程序需要跨多个应用平台运行时需要考虑数据模型的实现差异可能对程序运行中的一些“假设”前提条件的影响。
INT01-C. 使用rsize_t或者size_t来表示一个对象所占用空间的整数值单位
size_t的最大值由SIZE_[......]
[译]CERT Secure Coding Standard — C语言安全编程规范(1)
译序
看完cert的C安全编程规范已经有2个多月了,我在阅读的过程中顺手把官方文档的主要目录翻译了一 下,其中包含了171条“建议”和106条“规则”,个人认为把这些作为一个C语言安全编程规范的cheatsheet是相当不错的。

说明:
1.关于“ 建议(Recommendation)”:可以理解为“可选”的规范,一般是和最终软件产品的安全需求有关。遵循“建议”有助于改进系统安全性。
2.关于“规则(Rules)”:可以理解为“强制”的规范。违反“规则”的编码实践有可能导致产生“可被利用的漏洞”。编程实践与该规则的一致性 可以通过自动化分析、形式化方法或者手工检测技术验证。“规则”[......]
自己动手搭建缺陷Web App
搞Web安全的研究,没有一个本地实验环境是不行的,不能在互联网上乱试。给别人添点麻烦还算是小事,要是一不小心真让你拿下了一个站,结果发现是个蜜罐,你就等着警察叔叔上门吧。所以,安全第一,即使你是在研究安全。
Google Vulnerable Web Applications大约返回了467,000条搜索结果,看来这个需求挺常见,也挺容易满足。
Google的第一条搜索结果总会给我们带来惊喜,这次搜索也不例外,本文也就是对这篇文章作了一些简单的加工和整理。
S.No.
Vulnerable Application
Platform
Remark
1[......]
invisible CAPTCHA to defeat spam
Posted by c4pr1c3 in Javascript, 安全技术 on 2011年01月14日
好久没有写与安全相关的技术文章了,没啥可写的是主因,没啥能写的是次因,没啥该写的是扯淡。今天一天的工作告一段落,各方面进展良好,看了看我的草稿箱,就挑这个主题update一下发布了。
写在前面的科普
anti-spam最早的含义应该就是指的反垃圾邮件,没别的原因,就是早期互联网的一个重要应用就是电子邮件,所以利用电子邮件进行垃圾信息传播是spammer们的主要工作内容。随着互联网技术的发展,BBS、Blog、SNS、Twitter等等信息载体、媒介成为互联网上更受关注的信息传媒,spam的目标也就自然而然的盯上了这些“新媒体”。
从spam的内容角度来说,上面提到的这些垃圾内[......]
[原创Zotero系列教程之六]编写翻译器
标题写好很久了,一直没有时间完成这篇教程。前段时间豆瓣上有网友提醒我之前写的百度专利的Zotero翻译器现在有bug,我今天测试了一下,似乎没有问题?
最近一段时间以来,Google Code似乎一直处于被XX状态,这里整一个本地的备份(83d8cf18a56f4eb36de6202f7df441e0),方便无法飜墻的Zotero用户。下载的压缩包里包括:
- baidu-zhuanli.js 0541dd5bf45ffc6831f58aea24e74c8a
- cnpat.js [......]
2010年B总结
一年一度的年度总结,今年也不能免俗,和以往不同的是今年提前一天发布了: ) 先贴上去年年底时列的B计划以及今年的实施进度:
1.顺利按期毕业。
2.尽快适应和融入到新的工作环境中。
3.在新的科研方向上取得一些被认可的成果。
4.尽快把工作转化为事业。
2010年的上半年至少有1/4的时间是在通宵中度过的,不眠不休的感觉是苦的,抽中盲审是酸的,顺利通过答辩按时毕业是甜的,回想起自己的3年博士生活更多的是辛辣。
走上了新的工作岗位,工作也算[......]
面试心得有仨
最近这段时间一直在帮一个朋友的创业公司组建技术团队,面试了一些不同背景和不同水平的Web开发手艺人,从技术细节考查到具体项目经历询问,从个人职业发展规划到对公司环境的期望。既有海阔天空,也有蛛丝马迹。几周面试下来,对于IT手艺人的职业生涯规划我有了很多新的亲身感受需要记录下来。一来算是对我这几周面试经历的一个自我小结,二来是实践我教育行业从业人员的一点职业要求,三来把我的想法分享出来,供大家拍砖。
- 正确给自己报价
黎叔说过:“21世纪什么最贵?人才!”这句话至少放在IT企业里,绝对是一条金科玉律。不管你是去大如百度、腾讯、淘宝之类的互联网大鳄公司,还是去创业“小”公司。期望薪[......]
Linux C/C++编程FAQ系列 之四
4道js面试题
Posted by c4pr1c3 in Javascript on 2010年12月3日
设计了4到js面试题,最近在面试Web前端开发人员时随机组合用了几次,没有一个来面试的能全答对,看来这个题有点分享的价值,贴出来看看:
var a = 10; sayHi(); function sayHi() { var a = 20; alert(a); } alert(a);
20 10
var a = 10; sayHi(); function sayHi() { a = 20; alert(a); } alert(a);
20 20
var a = 10; sayHi(); function sayHi() { a[......]
最近评论