八、固若金汤:网站的安全架构

(1)道高一尺魔高一丈的网站应用攻击与防御

  常见网络攻击:

1.XSS攻击:XSS攻击即跨站点脚本攻击(Cross Site Script),指黑客通过篡改网页,注入恶意HTML脚本,在用户浏览网页时,控制用户浏览器进行恶意操作的一种攻击方式。
  a.反射型XSS攻击:诱使用户点击一个嵌入恶意脚本的链接。
  b.持久型XSS攻击:将恶意脚本请求保存在攻击的web站点,这样用户浏览正常网页也会被攻击。

  防御方案:
  a.消毒。进行HTML危险字符转义,比如说"<img src ="中的">"转义为"&gt"等等,这样就可以避免大部分攻击。为了避免对不必要的内容错误转义,如"3<5"中的"<"需要进行文本匹配后再转义。消毒几乎是所有网站最必备的XSS防攻击手段。
  b.HttpOnly。浏览器禁止页面JS访问带有HttpOnly属性的Cookie。HttpOnly并不是直接对抗XSS攻击的,而是防止XSS攻击者窃取Cookie。对于存放敏感信息的Cookie,如用户认证信息等,可通过对该Cookie添加HttpOnly属性,避免被攻击脚本窃取。

2.注入攻击。SQL注入攻击和OS注入攻击。

  a.SQL注入攻击:就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
  SQL注入攻击需要了解数据库表结构才能进行攻击,然后获取数据库表结构的手段有如下几种:开源:网站采用开源软件搭建,所以数据库结构是公开的。 错误回显:通过网站返回错误信息进行猜测。 盲注。
  防御:消毒。将请求数据中含有的sql,如"drop table"等。 参数绑定:使用预编译手段,绑定参数是最好的防SQL注入方法。目前许多数据访问层框架,如IBatis,Hibernate等,都实现SQL预编译和参数绑定,攻击者的恶意SQL会被当作SQL的参数,而不是SQL命令被执行。

3.CSRF攻击
  CSRF(Cross Site Request Forgery, 跨站点请求伪造),攻击者通过跨站请求,以合法用户的身份进行非法操作,如转账交易、发表评论等。其核心是利用了浏览器Cookie或服务器Session策略,盗取用户身份。
  所以CSRF的防御手段主要是识别请求者身份,主要有下面几种方法:
  a.表单Token。
  b.验证码。
  c.Referer check

4.其他攻击和漏洞
  a.Error Code。报出明显的错误,容易泄露信息。
  b.HTML注释。开发人员对代码的注释显示到客户端上。
  c.文件上传。可能被上传了可执行程序。
  d.路径遍历。攻击者在请求的URL中使用相对路径,遍历系统未开放的目录和文件。

5.Web应用防火墙

6.网站安全漏洞扫描


(2)信息加密技术及密钥安全管理

1.单向散列加密。单项散列加密是指通过对不同输入长度的信息进行散列计算,得到固定长度的输出,这个散列计算过程是单向的,不能对固定长度的输出计算得到输入。常见算法:MD5,SHA。

2.对称加密。加密解密都用同一把密钥。常见算法:DEC、REC算法

3.非对称加密。解密方将密钥给加密方加锁,然后解密方用私钥对信息解锁。就是密钥和私钥都是自己的,要加密信息的时候把密钥提供给发送信息方,然后自己用私钥解密。常见算法:RSA。

4.密钥安全管理
  改善密钥安全的手段有两种:
  a.把密钥和算法放在一个独立的服务器上,甚至做成一个专用的硬件设施,对外提供加密和解密服务,应用系统通过调用这个服务,实现数据的加解密。
  b.将加解密算法放在应用系统中,密钥则放在独立服务器中,为了提高密钥的安全性,实际存储时,密钥被切分成数片,加密后分别保存在不同存储介质中,兼顾密钥安全性的同时又改善了性能。
  

(3)信息过滤与反垃圾
  
1.文本匹配。
  a.Trie树。b.构造多级Hash表进行文本匹配。
 
2分类算法。贝叶斯算法。

3.黑名单。
  准确性高、信息量不打:可以将垃圾邮箱地址放至Hash表,发送时进行匹配,但是当数据量大的时候,效率会下降。
  信息量大,允许准确率有一定的偏差:布隆过滤器。将邮箱地址用8个随机映射函数映射到存储空间二进制的8个位置上,然后将8个位置全部置1。查询的时候用随机映射函数得到空间上8个位置的Bit,全为1则存在黑名单,要是有一个为0则不存在。


(4)电子商务风险控制

1.风险
  a.账户风险。
  b.买家风险。
  c.卖家风险。
  d.交易风险。

2.风控
  a.规则引擎。
  b.统计模型。


 

转载于:https://my.oschina.net/134596/blog/1793436

此书是英文版《渗透测试高手:打造固若金汤安全网络》。 《Advanced Penetration Testing: Hacking the World's Most Secure Networks》 Build a better defense against motivated, organized, professional attacks Advanced Penetration Testing: Hacking the World's Most Secure Networks takes hacking far beyond Kali Linux and Metasploit to provide a more complex attack simulation. Featuring techniques not taught in any certification prep or covered by common defensive scanners, this book integrates social engineering, programming, and vulnerability exploits into a multidisciplinary approach for targeting and compromising high security environments. From discovering and creating attack vectors, and moving unseen through a target enterprise, to establishing command and exfiltrating data—even from organizations without a direct Internet connection—this guide contains the crucial techniques that provide a more accurate picture of your system's defense. Custom coding examples use VBA, Windows Scripting Host, C, Java, JavaScript, Flash, and more, with coverage of standard library applications and the use of scanning tools to bypass common defensive measures. Typical penetration testing consists of low-level hackers attacking a system with a list of known vulnerabilities, and defenders preventing those hacks using an equally well-known list of defensive scans. The professional hackers and nation states on the forefront of today's threats operate at a much more complex level—and this book shows you how to defend your high security network. Use targeted social engineering pretexts to create the initial compromise Leave a command and control structure in place for long-term access Escalate privilege and breach networks, operating systems, and trust structures Infiltrate further using harvested credentials while expanding control Today's threats are organized, professionally-run, and very much for-profit. Financial institutions, health care organizations, law enforcement, government agencies, and other high-value targets need to harden their IT infrastructure and human capital against targeted advanced attacks from motivated professionals. Advanced Penetration Testing goes beyond Kali linux and Metasploit and to provide you advanced pen testing for high security networks.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值