zoukankan      html  css  js  c++  java
  • DVWA靶场之CSRF(跨站请求伪造)通关

    Low

    服务器就看了password_new与password_conf是否相同,没有其他的验证

    重新构造一个html页面,(自己假装自己是受害者,ip是靶场ip非本地ip)

    1 <img src="http://43.247.91.228:81/vulnerabilities/csrf/?password_new=lcx&password_conf=lcx&Change=Change#" border="0" style="display:none;"/>
    2 
    3 <h3>nothing special</h3>

    打开这个页面(在同一个浏览器上),就看到一行字,实际上登录密码已经改成lcx了不信你试试

    Medium

    多了一个叫eregi的函数

    eregi( $_SERVER[ 'SERVER_NAME' ], $_SERVER[ 'HTTP_REFERER' ]检查$_SERVER[ 'HTTP_REFERER'中是否存在$_SERVER[ 'SERVER_NAME' ],有true 没有false

    这次检查了HTTP_REFERER中是否有SERVER_NAME,这俩都是HTTP包头里的东西

    那么可以用burp suite抓包,请求包中加一行Referer:http://43.247.91.228:81

    这样就满足了要求,执行成功

    High

    加入了checkToken,大概是会判断token

    应该是不行了,靶机不是我本机,也没有我买的服务器

    获取用户token很重要,理想状态是有人去访问我的服务器上构造的一个获得token并向靶机服务器发出修改密码的请求的界面

    但往往还会有浏览器跨域保护,靶机和黑客服务器之间跨域了,可能比较难搞

    所以应该把相应代码注入到靶机本地服务器,这是仅靠CSRF做不到的

    Impossible

    界面直接变了,要输入原始密码

    既有PDO防止SQL注入,还有原始密码防CSRF,确实不能再CSRF了

  • 相关阅读:
    适配器模式
    快排变种
    美团面试问题
    gulp前端自动化构建工具新手入门篇
    javascript继承
    .call()和.apply()相同点与不同点
    JavaScript原型,原型链 !
    锚点链接和hash属性
    构造函数与普通函数的比较
    JS的作用域和作用域链
  • 原文地址:https://www.cnblogs.com/lcxblogs/p/13263692.html
Copyright © 2011-2022 走看看