zoukankan      html  css  js  c++  java
  • xray+awvs联动web漏洞扫描实战

       1、最近学web渗透,无意间发现一个有意思的站点:

    (1)用户的参数都在url路径里面,并未通过类似? a=xxx&b=yyy形式传参

    (2)整个站点能让输入的只有这一个search框,没有其他用户交互的地方了;

      (3)   这里既然有输入框,那么可能的漏洞有:

    • xss:反射型,比如用户的输入被后台又输出到页面; 存储型:后台数据库或日志记录了用户的查询关键词,然后管理员或运维人员在页面查看用户的查询记录,导致中招
    • sql注入:如果后台把用户输入的关键词存入数据库,这里就有sql注入的可能;

     (4)思路有了,于是挨个尝试,但这里都没发现问题:

    • xss:反射型,搜索框一直会显示search,下面会显示no result,不会在页面展示任何用户的输入,此路不通;存储型:也不知道后台会不会在页面展示用户的搜索记录,暂时无解;
    • sql注入:这里没有源码,不知道有没有用单双引号、括号闭合,页面也没找到显错点,只能尝试盲注.....

       

      2、人肉尝试了一圈,试了无数payload,效率及其低下,而且全都没卵用,只能借助工具:xray+awvs; 这两款神奇的介绍和安装、使用方法google一下可以找到一大堆,这里不再赘述;安装好后,直接运行,awvs给出的扫描出两个严重漏洞:

         (1)sql注入:在/News/detail/id/[*].html路径在存在盲注,并且还列举了payload

      

       (2)xss:给出了受影响的网页和payload:

          

         漏洞的类型和路径都给了,接下来挨个验证;

         3、(1)sql注入是盲注,且页面没有显错点,人工验证效率较低,这里先用burp在提示的路径抓包,  然后在payload的地方标注*号,           

      接着上sqlmap,不过比较遗憾,跑了好几次都没结果,无法继续dump库、表和数据,这里暂时放弃;

         

      不过这里继续手动挨个尝试payload,发现确实是这样的,没误报,比如这里输入true payload,能看到返回正确的页面:

      

          输入false的payload,页面显示不存在:

          

       (2)接着验证xss漏洞:根据扫描结果,这里先看看用户的输入被输出在页面的哪个地方,如下:中间还被加上了小于号< 

          

         既然用户在url的输入又被输出到页面,这里就有机可乘:把原来的输入改成</script>标签继续尝试,结果并未弹窗;查看源码,发现</script>标签被放在了</html>后面,无法闭合,导致alert没法执行;

         

      既然script标签被限制,只能改用其他标签,比如<img scr=1  onerror=alert(666)>来验证,成功弹窗,如下:证明awvs扫出来的xss漏洞是真的

        

        换成chrome继续尝试并未弹窗,查看源码发现alert居然被过滤了,不得不佩服chrome的开发团队。这里从侧面反应了chrome比firefox安全!

         

      (3)以上是awvs报的漏洞,这里还有另一款神奇xray,也报了漏洞,如下:

      

           有两个也是xss,点开看细节,给出了url和payload;

         s

      这里也给出了payload在页面展示的地方,可以发现一个小窍门:通过构造超长的url参数,让script标签完整的在页面展示,而不是像上面那样</script>被放在最末尾,导致无法闭合前面的标签;

      

       按照提示,构造url,成功弹窗,说明这个反射型的xss也是对的;

           

    参考:

    1、https://docs.xray.cool/#/tutorial/introduce  xray的介绍

  • 相关阅读:
    LoadRunner测试下载功能点脚本(方法二)
    LoadRunner测试下载功能点脚本(方法一)
    LR翻页脚本并在每页实现业务操作
    LR脚本自定义显示Controller虚拟用户状态
    LR选择哪种方式录制
    LR如何监控tomcat性能
    LR使用Java User协议环境报错Please add the <JDK>in to the path and try again
    HttpServletRequest对象请求转发和HttpServletResponse对象请求重定向之间的区别
    java进制转换
    常用正则表达式
  • 原文地址:https://www.cnblogs.com/theseventhson/p/13698179.html
Copyright © 2011-2022 走看看