网络安全常见漏洞与分析

一、SQL注入

(1)注入产生原理

使用用户输入的参数拼凑SQL语句,用户对服务器端代码里的SQL语句可控,使服务器执行恶意的sql命令

http://bbs.pconline.com.cn/topic.jsp?tid=1 ' and 1=2

(2)万能密码

select * from tb_name where name = ' ' or 1=1 - - '  and  passwd = ' '

(3)危害

数据库泄露,撞库攻击,法律责任(个人信息泄露)

(4)防御方法

1.绑定变量:使用SqlBuilder

2.使用安全的存储过程

3.检查数据类型

4.使用过滤函数

二、越权操作

(1)平行越权漏洞

只要一个账户即可控制全站用户数据。当然这些数据仅限于存在漏洞功能对应的数据。越权漏洞的成因主要是因为开

发人员在对数据进行增、删、改、查询时对客户端请求的数据过分相信而遗漏了权限的判断。

案例分析:删除帖子时没有判断当前用户是否有权限删除该帖子,导致其他用户的帖子也被删掉了

(2)垂直越权操作漏洞

基于角色的权限管理,又称为“垂直权限管理”。不同角色的权限有高低之分。高权限角色访问低权限角色的资源往往

是被允许的,而低权限角色访问高权限角色的资源往往是被拒绝的。如果低权限角色获得了高权限角色的能力,那么

就发生了“越权访问”

三、跨站脚本攻击(XSS)

(1)简介

恶意攻击者通过某些输入点往Web页面里插入脚本代码,当用户浏览页面或执行某种操作时,就会触发嵌入的脚本代码,从而实现

恶意攻击。
 

(2)分类

1.存储型XSS(Stored XSS)

存入了数据库,再取出来时导致的xss。

输入:

输出:

2.反射型XSS(Reflected XSS)

案例:在网址url后输入xss代码,如<script>alert(1)</script>,然后访问时导致html页面加载这段代码即可达到弹框效果

3.DOM型XSS(DOM Based XSS)其实也是反射型的一种

严格来说该xss也属于反射型,本文的例子其实也是dom based,是指修改页面的dom对象模型,从而达成攻击。

(3)如何防止跨站脚本攻击(XSS)

1.输出过滤

四、跨站请求伪造(CSRF)

(1)简介

CSRF(Cross-site request forgery跨站请求伪造,也被称成为“one click attack”或者session riding,通常缩写为

CSRF或者XSRF,是一种对网站的恶意利用。

(2)发生原因

网站是通过cookie来识别用户的,当用户成功进行身份验证之后浏览器就会得到一个

标识其身份的cookie,只要不关闭浏览器或者退出登录,以后访问这个网站会带上这个cookie。

1.登录受信任网站A,并在本地生成Cookie。

2.如果在用户登录访问网站A的同时访问了网站B,访问者在网站A的数据就会被B使用用户cookie假冒更新。

(3)案例

假如某网银转账操作是以GET请求来完成:http://www.mybank.com/Transfer.php?toBankId=11&money=1000

网站B,它里面有一段HTML的代码如下:

<img src=http://www.mybank.com/Transfer.php?toBankId=11&money=1000>

当我在网银cookie有效的情况下访问了网站B,那我的网银就莫名其妙的

被转账了1000。。。

(4)防御方法

1.验证码与二次验证

2.对请求的referer进行检测

3.添加随机token校验

五、拒绝服务

(1)CC(Challenge Collapsar)攻击

案例:

http://bbs.pconline.com.cn/abc.jsp?count=100000000&pageSize=100

然后服务器就这样挂掉了啊有木有!!!

(2)防御

1.限制参数大小

2.sql查询性能优化

猜你喜欢

转载自blog.csdn.net/loner_fang/article/details/81332875