Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如果黑客无法访问用户计算机,他如何执行xss攻击?_Reactjs_Security_Xss - Fatal编程技术网

Reactjs 如果黑客无法访问用户计算机,他如何执行xss攻击?

Reactjs 如果黑客无法访问用户计算机,他如何执行xss攻击?,reactjs,security,xss,Reactjs,Security,Xss,我正在阅读一些关于React应用程序安全性的文章。事实上,我使用localstorage存储用户的信息,并且我已经看到xss攻击很容易让黑客窃取这些信息 但是,我知道在React中,xss攻击只能通过显示输入中写入的内容的SetDangerlyInnerHTML标记来执行。这样,你就可以窃取他的信息、cookies会话等等。并将其发送到您的网站 但是黑客只有在有机会在用户的计算机上编写脚本时才能这样做,对吗?那么,如果我不使用任何setDangerlyInnerHTML标记,React应用程序中

我正在阅读一些关于React应用程序安全性的文章。事实上,我使用localstorage存储用户的信息,并且我已经看到xss攻击很容易让黑客窃取这些信息

但是,我知道在React中,xss攻击只能通过显示输入中写入的内容的SetDangerlyInnerHTML标记来执行。这样,你就可以窃取他的信息、cookies会话等等。并将其发送到您的网站

但是黑客只有在有机会在用户的计算机上编写脚本时才能这样做,对吗?那么,如果我不使用任何setDangerlyInnerHTML标记,React应用程序中的localstorage安全吗?如果不是的话,黑客怎么能在网站上进行这样的攻击

  • 如果用户使用公共计算机,这可能是可能的
  • 如果您有一些允许外部用户在您的站点上发布内容的功能,例如评论或反应,那么可能有人会编写一个脚本,将本地存储数据发送给黑客
  • 有很多方法可以利用这一点,请查看owasp以获得更详细的解释

  • 如果用户使用公共计算机,这可能是可能的
  • 如果您有一些允许外部用户在您的站点上发布内容的功能,例如评论或反应,那么可能有人会编写一个脚本,将本地存储数据发送给黑客
  • 有很多方法可以利用这一点,请查看owasp以获得更详细的解释


    开发人员必须接受攻击者可以做的事情:

    • 他们可以重新调整整个网站
    • 他们也可以制作“bot”脚本来自动执行任务,换句话说,如果任务是这样的话,则会淹没服务器
    • JS/HTML中定义的所有限制都可以并将被忽略(例如:表单中的字符长度等)
    • 可以重新写入整个页面,使其无法正确与服务器通信,换句话说,如果未处理/检测到,会导致服务器崩溃或更多
    • 名单还在继续,但如果有人想足够努力地窥探的话,请接受这几乎是不可能的
    为了防止这种情况发生,你没有什么办法来解释!您可以从randomxyxsite.com添加外部脚本,尽管trusted可能会受到攻击,因为该脚本现在运行“记录器或某种类型的分析抓取机器人”,但我认为,如果可以的话,不添加外部脚本可以很容易地避免这种情况

    虽然我说了我最初说的话,但这是你被卡住的地方。。。 任何用户都可以打开控制台/构建扩展或使用第三方加载程序,如Tampermonkey和其他替代程序,并根据自己的意愿执行脚本。这也可以成为“共享”行为,与僵尸网络行为相当

    那么,您可以做些什么来阻止客户端错误行为或“超级修改”其内容以供恶意服务器使用呢

    一些安全防护方法:

    • 服务器端请求应该通过某种形式的检查/清理,以确保任何客户端传递给它的内容都绝对安全
    • 永远不要让用户告诉你除了登录他们是谁,用sessionid定义这些用户;通过他们的会话了解这些用户,当用户使用时,在他们之间进行沟通并遵循上述要点
    • 尽量保密。公共变量/类/函数在运行时很容易重新编写,留下一些您可能打算使用的特性
    window.PayFeature=function(){}

    允许XSS:


    如果担心的话,开发人员应该对其进行更多的研究。尽管用户可以扭曲/改变他们的终端,但只有当流量改变或从他们那里接收到的数据开始变得像攻击一样时,这才是一个问题。所以对于一个开发者来说,你最好的选择就是给用户设置限制,设置规则等等,这样就可以发现并阻止滥用行为。只要您这样做,您就不应该害怕它,而应该欢迎它,当服务器得到保护时,它就变成了垃圾邮件(潜在的僵尸网络)

    开发人员必须接受攻击者可以做的事情:

    • 他们可以重新调整整个网站
    • 他们也可以制作“bot”脚本来自动执行任务,换句话说,如果任务是这样的话,则会淹没服务器
    • JS/HTML中定义的所有限制都可以并将被忽略(例如:表单中的字符长度等)
    • 可以重新写入整个页面,使其无法正确与服务器通信,换句话说,如果未处理/检测到,会导致服务器崩溃或更多
    • 名单还在继续,但如果有人想足够努力地窥探的话,请接受这几乎是不可能的
    为了防止这种情况发生,你没有什么办法来解释!您可以从randomxyxsite.com添加外部脚本,尽管trusted可能会受到攻击,因为该脚本现在运行“记录器或某种类型的分析抓取机器人”,但我认为,如果可以的话,不添加外部脚本可以很容易地避免这种情况

    虽然我说了我最初说的话,但这是你被卡住的地方。。。 任何用户都可以打开控制台/构建扩展或使用第三方加载程序,如Tampermonkey和其他替代程序,并根据自己的意愿执行脚本。这也可以成为“共享”行为,与僵尸网络行为相当

    那么,您可以做些什么来阻止客户端错误行为或“超级修改”其内容以供恶意服务器使用呢

    一些安全防护方法:

    • 服务器端请求应该通过某种形式的检查/清理,以确保任何客户端传递给它的内容都绝对安全
    • 永远不要让用户告诉你除了登录他们是谁,用sessionid定义这些用户;通过他们的会话了解这些用户,当用户使用时,在他们之间进行沟通并遵循上述要点
    • 尽量保密。公共变量/类/函数在运行时很容易重新编写,留下一些您可能打算使用的特性
    window.PayFeature=function(){}

    允许