XSS和CSRF原理及防范

随着Web2.0、社交网络、微博等等一系列新型的互联网产品的诞生,基于Web环境的互联网应用越来越广泛,企业信息化的过程中各种应用都架设在Web平台上,Web业务的迅速发展也引起黑客们的强烈关注,接踵而至的就是Web安全威胁的凸显。 黑客利用网站操作系统的漏洞和Web服务程序的SQL注入漏洞等得到Web服务器的控制权限,轻则篡改网页内容,重则窃取重要内部数据,更为严重的则是在网页中植入恶意代码,使得网站访问者受到侵害。 如今,Web安全成为焦点,但网站的漏洞还是频频出现,在白帽子们进行网站测试时,恐怕对于SQL注入、XSS跨站、CSRF接触最多,但对于网站的开发者们来说,对这些熟知多少?本文从开发者的角度,对于XSS和CSRF进行简要概述。 PART1  XSS跨站脚本(Cross-site scripting) XSS成因概括 : XSS其实就是Html的注入问题,攻击者的输入没有经过严格的控制进入了数据库,最终显示给来访的用户,导致可以在来访用户的浏览器里以浏览用户的身份执行Html代码,数据流程如下:攻击者的Html输入—>web程序—>进入数据库—>web程序—>用户浏览器。 检测方法: //通常有一些方式可以测试网站是否有正确处理特殊字符: ><script>alert(document.cookie)</script> =’><script>alert(document.cookie)</script> “><script>alert(document.cookie)</script> <script>alert(document.cookie)</script> <script>alert(vulnerable)</script> %3Cscript%3Ealert(‘XSS’)%3C/script%3E <script>alert(‘XSS’)</script> <img src=”javascript:alert(‘XSS’)”> <img src=”http://xxx.com/yyy.png” onerror=”alert(‘XSS’)”>…

Continue Reading →

HackerNews网站50篇最佳文章

你可能叫得上自己最喜欢的书、专辑或电影的名字。你也许还能记得最喜欢的演出或是绘画作品的名字。但你是否记得从网上读过的那些好文章? 虽然我还记得Paul Ford在彭博公司网站上发表的一篇长达38000词的杰作(也没有忘记BuzzFeed网站发布的色彩变化多样的结婚礼服),2015年我还读过什么?大脑却一片空白。这一年我所喜欢的书、专辑、电影的名字,都能脱口而出,但我都读过哪些有趣的文章,就是没印象了。是我的记性很糟糕,还是互联网文章天性就是容易被人遗忘? 这个问题促使我在假期做了一个小实验:回顾最近这一年(甚至还要往前推点),哪些文章经得起时间的考验?我决定把HackerNews网站文章作为考察对象,因为比起其他社交网站,它以文字内容为主,其他网站以视频、动态图(比如关于猫的有趣的动态图)、图文列表(listicles)等为主。 下面就是我从HackerNews网站找到的50篇最佳文章: 编程语言简史:不完整甚至大部分是错误的  James Iry (被单独发表6次,共1243分) 如何成为程序员   Robert L. Read (6 次, 492 分) 高级编程语言  Matt Might (5…

Continue Reading →

知道创宇研发技能表

知道创宇研发技能表v3.1 2016/5/18 发布 by @知道创宇(www.knownsec.com) @余弦 & 404团队 后续动态请关注微信公众号:Lazy-Thought 说明 关于知道创宇 知行合一 | 守正出奇 知道创宇是一家黑客文化浓厚的安全公司,愿景是让互联网更好更安全 本技能表为知道创宇研发工程师的技能树集合,是的,很庞大 聪明的人,会根据每个tip自驱动扩展 不聪明的人,坐等别人手把手,不仅不适合知道创宇,也不适合任何有极客精神的公司 附件标志是我们推荐的附加资源,感谢资源提供者 知道创宇研发技能表v3.1离线版打包下载 …

Continue Reading →

SSH、SSL与HTTPS

关于加密 在解释SSH、SSL与HTTPS协议之前我先介绍一下非对称加密协议。在1976年以前,所有的加密都采用对称加密,既A使用某种加密规则对信息加密,B收到信息后逆向加密规则解密数据。这通信方式产生了一个难以解决的问题:A如何安全的把加密规则通知B? 在1976年有两位数学家提出了一个崭新的非对加密的概念: 1.A生成一对两把密钥(公钥和私钥)。公钥是公开的,任何人都可以获得,私钥则是保密的。 2.B获取乙方的公钥,然后用它对信息加密。 3.A得到加密后的信息,用私钥解密。 受这个思路的启发,三位数学家Rivest、Shamir 和 Adleman 设计了一种具体实现上面描述的非对称加密的算法,以他们三个人的名字命名,就是目前在计算机领域应用非常广泛的非对称加密算法RSA加密算法。这样网络上传输的数据都经过公钥加密,然后用私钥解密,就算被第三方截获也无法解密出原始数据。想深入理解非对称加密解密的原理可以看这里。 虽然非对称加密很安全很强大,但是它也有缺点,相对于对称加密它计算量更大,计算时间更长。所以在大规模数据的安全通信场景中,普遍采用非对称加密技术来交换对称加密密钥,之后的通信都采用对称加密技术加密。 SSH 维基百科中对SSH协议的定义如下 Secure Shell(缩写为SSH),由IETF的网络工作小组(Network Working Group)所制定;SSH为一项创建在应用层和传输层基础上的安全协议,为计算机上的Shell(壳层)提供安全的传输和使用环境。 传统的网络服务程序,如rsh、FTP、POP和Telnet其本质上都是不安全的;因为它们在网络上用明文传送数据、用户帐号和用户口令,很容易受到中间人(man-in-the-middle)攻击方式的攻击。就是存在另一个人或者一台机器冒充真正的服务器接收用户传给服务器的数据,然后再冒充用户把数据传给真正的服务器。 而SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。通过SSH可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。 SSH之另一项优点为其传输的数据可以是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、POP、甚至为PPP提供一个安全的“通道”。…

Continue Reading →

FindBugs代码质量检查(持续更新)

一、前言 目前已验证缺陷检查规则24条。其中不良习惯(Bad practice)14条,正确性(Correctness)3条, 糟糕的代码(Dodgy code)3条,性能(Performance)1条,安全(Security)2条,多线程的正确(Multithreaded correctness)1条; 其中ODR_OPEN_DATABASE_RESOURCE_EXCEPTION_PATH、 OS_OPEN_STREAM_EXCEPTION_PATH、DE_MIGHT_IGNORE这三个检查点存在缺陷,代码进行变更修改后检查点无法检测到错误异常。其余可正常进行逻辑检查。 二、缺陷集合 1、CN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE 1.1 缺陷说明 这个检测器会检查编写的可克隆类是否违反惯用语法。类定义了clone()方法,但是没有实现Cloneable接口。 如果不继承自Cloneable接口,当调用clone()时会抛出CloneNotSupportedException异常。 1.2 代码示例 public class CN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE { public…

Continue Reading →

PHP防止XSS注入

我们在做网站的时候,经常有input提交,通常前端对input中的内容不做判断,只做不为空等简单的操作。但是,有的input中会提交一些javascript或者html,会给网站造成一定的危害。为此,防止XSS注入的任务交给了后端,后端防止XSS注入函数如下: function RemoveXSS($val) { // remove all non-printable characters. CR(0a) and LF(0b) and TAB(9) are allowed // this prevents some…

Continue Reading →

系统必备的安全功能

一、应用安全 1、登录模块:密码强度、错误处理、SQL注入、会话控制 2、系统功能:各种权限(数据权限、组织权限、菜单权限、按钮权限)、X-FRAME-OPTION 3、数据安全:保证性、保密性(Https协议)、前后台数据校验(登录信息加密解密等) 4、异常处理:异地备份、双机热备 5、问题追溯:安全审计(日志与第三方日志) 6、部署容器:Tomcat漏洞文件 二、应用安全补充 1、最好使用如“用户名/密码错误”代替“用户名错误”/“密码错误”,防止恶意用户非法扫描帐号库; 2、前后端都必须校验,防止前端校验被绕过; 3、http 500与404用web.xml配置跳到指定页面,防止暴露系统敏感信息; 三、密码安全 1、系统登录安全流程 2、破解依据 I.破解盐的加密算法(盐的字符串组合与未知的对称加密算法) II.根据破解后的盐的值根据彩虹表爆破密码 3、注意点 密码强度+非对称算法+盐

Continue Reading →