Heim >php教程 >php手册 >从后台到webshell的一点思路

从后台到webshell的一点思路

WBOY
WBOYOriginal
2016-05-25 16:47:511274Durchsuche

主要是利用后台对access数据库的"备份数据库"或"恢复数据库"功能,"备份的数据库路径"等变量没有过滤导致可以把任意文件后缀改为asp,从而得到webshell,msssql版的程序就直接应用了access版的代码,导致sql版照样可以利用,具体方法和分析可以参考angel的文章《动网论坛7.0获得WebShell的分析》,据我所知,目前还有很多的asp程序后台存在这样的漏洞,利用方法大同小异。

php+mysql程序

① 利用后台的数据查询功能

在有的程序后台提供直接对mysql数据查询功能,我们就可以利用它执行SELECT ... INTO OUTFILE查询输出php文件,因为所有的数据是存放在mysql里的,所以我们可以通过正常手段把我们的webshell代码插入mysql在利用SELECT ... INTO OUTFILE语句导出shell。我们这里用ipb论坛做个演示:

第一步:把我们的webshell代码写入数据库

随便找个可以写入的地方(注意对你输入的要没有进行过滤),这里我们就用后台的新建立个论坛,在论坛描叙里写入我们的shell代码 提交 ok这样就把我们的shell写入了数据库了。

第二步:导出webshell

我们来到"SQL Management"里的"mySQL Toolbox"在"Run Query"里写入语句:

SELECT * FROM 123forums into OUTFILE 'd:shell.php'

shell代码所在的表,web目录绝对路径,如果主机mysql查询成功,我们就得到我们webshell:

http://127.0.0.1/test/shell.php?c=dir

② 利用mysql数据备用

思路结合上面的2种情况,有的程序在备用数据库时 对备用文件的类型没有限制,从而导出php文件,我们和①中那样,通过把webshell代码写入数据库中,在利用数据备用导出webshell,我们大家熟悉的vbb论坛就可以用这个方法来得到webshell,我们设置用户的签名为 然后到后台的数据库备份,在"在服务器上备份数据库到文件"里改为shell.php,提交保存。我们就可以在论坛的根目录下访问我们的shell了,因为可能到处的文件比较大,我们可以换一个可以生成文件的webshell代码。

补充思路:利用web后台系统设置,如果是系统设置是保存在php/asp文件了,我们可以同过在设置里写入webshell代码到保存设置的php/asp文件了.

演示:程序sablog,sablog的基本设置保存在adminsettings.php 由于后台在提交设置的变量十没有过滤,导致我们可以向adminsettings.php写入任意代码。

进入后台--"基本设置"--"blog名称"(其他项也可以)--填入代码:sss";phpinfo();"ss --提交。

这样我们就把phpinfo()写入了adminsettings.php,我们可以看到adminsettings.php正常显示php的信息.


教程网址:

欢迎收藏∩_∩但请保留本文链接。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn