XSS&&CSRF

作者: YangJeremy | 来源:发表于2018-02-24 01:01 被阅读0次

    XSS的原理和防范方式

    XSS全称Cross Site Scripting即跨站脚本攻击。
    恶意用户将恶意脚本装作普通文本的样式上传到服务器,这些文本将被渲染到目标用户的页面上,从而被执行,这样的流程称之为‘跨站脚本攻击’。
    举例:有一个发表评论的功能,一个人发表了评论大家就都能看见,于是恶意用户就在这个评论区发表了以下代码:

    <script>console.log(document.cookie)</script>
    

    如果这个代码未经过滤直接执行,那么攻击者将会收集所有访问这个评论区的用户的cookie以便执行只有目标用户才有权限做的事情。

    通常,我们可以通过以下方式来防止xss攻击:

    1. 转义 < > 这些特殊字符为实体字符
    2. 利用正则判断攻击脚本
    3. 尽量修改节点文本而不是修改节点内容html
    

    CSRF的原理和防范方式

    CSRF全称Cross-site request forgery(跨站请求伪造)是指恶意用户将某些需要他人权限的接口埋藏在自己的脚本中,将脚本利用XSS相同的注入方式或诱导用户点击执行等方式令拥有权限者执行,从而达到自己的目的。
    例如,恶意用户想要给某个人刷票,而一个微信号只能投一张票,他发现了刷票的接口为A,则将对A进行Ajax请求的XSS脚本注入某网站(方法1),或者利用像色情等吸引眼球的方法(方法2)将此段脚本内嵌入自己写的网页中诱使他人点击,从而实现不断有有效用户访问这个接口的目的。
    我们通常可以使用以下手段来防止CSRF攻击:

    1. 尽量对要修改数据的请求使用post而不是get
    2. 给每一次用户登陆分配一个临时token,用服务端的setCookie头将此token种入用户cookie中,每次请求比对用户方token与服务器端token是否吻合。
    3. 服务器禁止跨域请求
    4. 及时清除用户的无效cookie
    
    

    相关文章

      网友评论

          本文标题:XSS&&CSRF

          本文链接:https://www.haomeiwen.com/subject/ycifxftx.html