终极三国,夯实根底:Web常见安全漏洞须知,本来生活

admin 2019-04-06 阅读:291

原文:https:/yeero/mp.weixin.qq.com/s/66Ddw5sU-DUGC相片女生gwDTE13Wg

作者:吴小君,服务端研制部司理,担任公有云服务端研制作业

来历:华云大众号

SQL注入

1、什么是SQL注终极三国,夯实基础:Web常见安全缝隙须知,原本日子入?

SQL注入,便是经过把SQL指令刺进到Web表单提交或输入域名或页面恳求的查询字符串,终究到达诈骗服务器履行歹意的SQL指令。详细来说,它是运用现有应用程序,将(歹意的)SQL指令注入到后台数据库引擎履行的才能,它能够经过在Web表单中输入(歹意)SQL句子得到一个存在安终极三国,夯实基础:Web常见安全缝隙须知,原本日子全缝隙的网站上的数据库,而不是依照设计者意图去履行SQL句子。

2、怎么注入?

比方: http://test.com/info?id=1

此URL回来数据库某表的1条数据。程序中或许这么写的,ID为传入变量:

select * from user where id=‘”+id+“ ’;

如上,那走光照么查询句子将是

selec团800锦州二日游t * from user where id = ‘1’

假如 id= 1‘ or ’1‘=’1,那么查询句子将是

select * from user where id = ‘1’ or ‘1’=‘1’

3、SQL注入原因

①对提交的数据未过滤

②组装SQL句子

③不妥的类型处理

4、SQL注入防护

(1)字符串长度验证

仅承受指定长度范围内的变量值。sql注入脚本必然会大大添加输入变量的长度,经过长度约束,比方用户名长度为 8 到 20 个字符之间,超越就判定为无效值。

(2)对单引号和双"-"、下划线、百终极三国,夯实基础:Web常见安全缝隙须知,原本日子分号等sql注释符号进行转义

(3)不运用动态组装SQL,运用参数化的SQL进行数据查询存取

代码示例:

Str梁君诺虚浮ing sql = "select id, no from user where id=?";

PreparedStatement ps

= conn.prepareStatement(sql);

ps.凤山村的孩子setInt(1, id);

ps.executeQuery();

(4)结构防护: mybatis

① # 符号作用为 将传入的数据都当成一个字符串,会对主动传入的数据加一个双引号。

如:where user_id= #{id}

假如传入的值是111,那么解析成sql时的值为 where id ="111"

假如传入的值是 1’=or ’1’=‘1’ ,则解析成的sql为 whereid “1’=or男同video ’1’=‘1’ “

②$ 符号则是将传入的数据直接生成在sql中。

如:where user_id= ‘${id}’

假如传入的值是111,那么解析成sql时的值为 where id =‘111’

假如传入的值姿月朝户是 1’=or ’1’=‘1’,则红海树解析成的sql为 where _id =闵奉坐标‘1’or终极三国,夯实基础:Web常见安全缝隙须知,原本日子 ’1’=1’

定论:# 符号能够避免SQL注入, $符号无法避免SQL注入,$ 符号一般用于传入数据库目标,例如终极三国,夯实基础:Web常见安全缝隙须知,原本日子传入表名

XSS

1、什么是XSS?

往Web页面里刺进歹意html代码,当用户阅读该页之时,嵌入其间Web里边的html代码会被履行,然后到达歹意进犯用户的特别意图

2、XSS分类

(1)持久性的XSS(存储在服务器端,进犯行为将伴随着进犯数据一向存在)

(2)非持久性的XSS(一次性的,仅对当次的页面拜访产生影响)

比方:将参数传递至页面输出

参数写法: index?value=

alert(document终极三国,夯实基础:Web常见安全缝隙须知,原本日子.cookie)

页面和JS写法:

| $(‘#xss’).html(value);

3、XSS损害

履行恣意JS代码。最常见的做法是获取COOKIE认证信息;其太阳女战士他的便是跳转至歹意网址等,或许合作CSRF缝隙,进行创立form表单,进行提交,强制使当时用户操作,比方发帖,删帖,乃至转账等。

4、 XSS防护

(1)过滤用户输入的内容,常见的是过滤 ‘、”消字灵管用吗、;、< 、>

(2)在用户提交数据时,对数据进行编码处理。

(3)在输出页面时,对数据进行编码处理。

CSRF

1、什么是CSRF?

假造恳求,假充用户在站内的正常操作

2、CSRF进犯原理




3、CSR爱琪琪F损害

进犯者盗用了用户的身份,能够运用此身份进行艾维茵肉鸡发送邮件、发消息dizzydills、购买商洪泰艺品、银行转账磁力云等等用户可履行的操作。

4、CSRF怎么防护

(1)验证 HTTP Referer 字段

此办法为基础防护,现在Referer是可被改写和假造的,并非肯定安全。

(2)HTTP添加自定义参数验证

服务器生成token一份存放在session中,一份放在前端躲藏域中随恳求头部提交。B不拜访A网站前端拿不到token,恳求无法经过验证,到达防护意图。

URL跳转缝隙

1、什么是URL跳转缝隙?

程序中常会重定向页面,在登录体系中长会依据URL中的参数进行重定向,便于用户登录之后,调转到之前的页面。

2、终极三国,夯实基础:Web常见安全缝隙须知,原本日子URL示例

比方: http://www.aa.com/account/login

?from=http://download.aa.com

关于跳转页是否是当时站点的页面,或许是否是答应的页面地址没有做判华山漫空栈道灵异事情断女性私处,当歹意进犯者将地址改为:

http://www/aa.com/account/login

?from=http://www.bb.com/

那么用户登录后会跳转到www.bb.com,假如是歹意网址,那么用户就成为受害者。

3、合作session在URL中传递的损害

跳转到的页面中很简单从HTTP恳求头中获取到url中session的值,关于session中验证信息不绑定用户客户端信息的状况,进犯者可直接运用,成为之前用户的身份。

4、URL跳转缝隙防护

(1)能够确认的URL:装备对应索引文件,经过索引找到对应详细url再进行跳转

(2)无法确认的URL:添加规矩校验,先经过验证后在进行跳转