好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>CMS系统>Dedecms
<tfoot draggable='sEl'></tfoot>

phpurl注入漏洞 PHP防注入

很多站长朋友们都不太清楚phpurl注入漏洞,今天小编就来给大家整理phpurl注入漏洞,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 ThinkPHP 3.2.0 的注入漏洞,如何在这个程序利用 2、 php漏洞怎么修复 3、 php网站在检测时总是提示网站存在sql注入漏洞 4、 php防止sql注入漏洞有哪些函数 5、 服务器装什么软件 phpcms注入漏洞 ThinkPHP 3.2.0 的注入漏洞,如何在这个程序利用

Thinkphp里面的where方法是具有过滤作用的,也就是说你这里想通过openid参数去注入是失败的。因为where方法对传入的参数进行了转义。具体可以去看下源码。

php漏洞怎么修复

近日,我们SINE安全对metinfo进行网站安全检测发现,metinfo米拓建站系统存在高危的sql注入漏洞,攻击者可以利用该漏洞对网站的代码进行sql注入攻击,伪造恶意的sql非法语句,对网站的数据库,以及后端服务器进行攻击,该metinfo漏洞影响版本较为广泛,metinfo6.1.0版本,metinfo 6.1.3版本,metinfo 6.2.0都会受到该网站漏洞的攻击。

metinfo建站系统使用的PHP语言开发,数据库采用的是mysql架构开发的,在整体的网站使用过程中,简单易操作,可视化的对网站外观进行设计,第三方API接口丰富,模板文件较多,深受企业网站的青睐,建站成本较低可以一键搭建网站,目前国内使用metinfo建站的网站数量较多,该metinfo漏洞会使大部分的网站受到攻击影响,严重的网站首页被篡改,跳转到其他网站,以及网站被劫持跳转到恶意网站上,包括网站被挂马,快照被劫持等情况都会发生。

关于该metinfo漏洞的分析,我们来看下漏洞产生的原因:

该漏洞产生在member会员文件夹下的basic.php代码文件:

metinfo独有的设计风格,使用了MVC框架进行设计,该漏洞的主要点在于使用了auth类的调用方式,在解码加密过程的算法中出现了问题,我们再来看下代码:

通常加密,以及解密的算法是不可以可逆的,但是metinfo写的代码可以进行伪造函数值进行逆算,我们看这个构造的恶意函数,这里的key值是从前端met_webkeys值里进行获取,将获取到的webkeys值进行写入,并赋值到配置文件里,config目录下的config_safe.php代码里。我们通过查看这个代码,发现写入的值没有办法进行PHP脚本的执行,本来以为可是伪造key值进行写入木马,发现行不通,但是在这个伪造key值的过程可以进行sql注入攻击,采用是延时注入方式进行

关于metinfo漏洞的修复建议,以及安全方案

目前metinfo最新版本发布是2019年3月28日,6.2.0版本,官方并没有针对此sql注入漏洞进行修复,建议网站的运营者对网站的后台地址进行更改,管理员的账号密码进行更改,更改为数字+字符+大小写的12位以上的组合方式,对网站的配置文件目录进行安全限制,去掉PHP脚本执行权限,如果自己对代码不是太熟悉,建议找专业的网站安全公司来处理修复漏洞,国内SINE安全,以及绿盟,启明星辰,都是比较不错的网站漏洞修复公司。

php网站在检测时总是提示网站存在sql注入漏洞

1,用正则表达式过滤一些SQL注入关键字。

2,尽量使用参数形式,少用拼凑型SQL语句

3,条件可以的话,请使用存储过程操作数据库.

4,转换参数类型.如是参数是数字型,则转换成数字型的才操作

public class AntiSqlInAttack

{

public System.Web.HttpRequest request;

public AntiSqlInAttack(System.Web.HttpRequest request)

{

this.request = request;

}

public bool CheckBadQuery()

{

//整串字符对比方法

//string badword = ";|'|*|%| and |20%and20%| master |20%master20%|exec|insert|select|delete|count|chr|mid|truncate|char|declare|update";

//string query = request.ServerVariables["Query_String"].ToString();

//string[] badwordArry = badword.Split(new char[] { '|' });

//for (int i = 0; i < badwordArry.Length; i++)

//{

// string tempWord = badwordArry[i].Trim();

// if (query.IndexOf(tempWord) >= 1)

// return true;

//}

//return false;

if (request.QueryString.Count != 0)

{

for (int i = 0; i < request.QueryString.Count; i++)

{

if (CheckBadWord(request.QueryString[i].ToString()))

return true;

}

}

return false;

}

public bool CheckBadForm()

{

if (request.Form.Count > 0)

{

for (int i = 0; i < request.Form.Count; i++)

{

if (CheckBadWord(request.Form[i]))

return true;

}

}

return false;

}

public bool CheckBadWord(string str)

{

string pattern = @"select|insert|delete|from|count\(|drop table|update|truncate|asc\(|mid\(|char\(|xp_cmdshell|exec master|netlocalgroup administrators|:|net user|""|or|and";

if (Regex.IsMatch(str, pattern, RegexOptions.IgnoreCase) || Regex.IsMatch(str, @"[-|;|,|\/|\(|\)|\[|\]|\}|\{|%|@|\*|!|\']"))

return true;

return false;

}

/**//// <summary>

/// 反SQL注入

/// </summary>

public void AntiSqlInjectionAttack()

{

if (CheckBadQuery() || CheckBadForm())

{

string msg = string.Empty;

msg += "<span style='font-size:12px;'>非法操作!系统做了如下记录!<br>";

msg += "操作IP:" +Utils.GetRealIP()+ "<br>";

msg += "操作时间:" + DateTime.Now + "<br>";

msg += "页面:" + request.ServerVariables["URL"].ToLower() + "<br>";

msg += "<a href=\"#\" onclick=\"history.back()\">返回上一页</a></span>";

MessageBox.ResponseWrite(msg, true);

}

}

}

php防止sql注入漏洞有哪些函数

一个是没有对输入的数据进行过滤(过滤输入),还有一个是没有对发送到数据库的数据进行转义(转义输出)。这两个重要的步骤缺一不可,需要同时加以特别关注以减少程序错误。

对于攻击者来说,进行SQL注入攻击需要思考和试验,对数据库方案进行有根有据的推理非常有必要(当然假设攻击者看不到你的源程序和数据库方案),考虑以下简单的登录表单:

<form action="/login.php" method="POST">

<p>Username: <input type="text" name="username" /></p>

<p>Password: <input type="password" name="password" /></p>

<p><input type="submit" value="Log In" /></p>

</form>

作为一个攻击者,会从推测验证用户名和密码的查询语句开始。通过查看源文件,就能开始猜测站长的习惯。

比如命名习惯。通常会假设表单中的字段名为与数据表中的字段名相同。当然,确保它们不同未必是一个可靠的安全措施。

第一次猜测,一般会使用下面例子中的查询:

<?php

$password_hash = md5($_POST['password']);

$sql = "SELECT count(*)

FROM users

WHERE username = '{$_POST['username']}'

AND password = '$password_hash'";

?>

当然,攻击者未必在第一次就能猜中,常常还需要做一些试验。有一个比较好的试验方式是把单引号作为用户名录入,原因是这样可能会暴露一些重要信息。有很多开发人员在Mysql语句执行出错时会调用函数mysql_error()来报告错误。见下面的例子:

<?php

mysql_query($sql) or exit(mysql_error());

?>

关于SQL注入,不得不说的是现在大多虚拟主机都会把magic_quotes_gpc选项打开,在这种情况下所有的客户端GET和POST的数据都会自动进行addslashes处理,所以此时对字符串值的SQL注入是不可行的,但要防止对数字值的SQL注入,如用intval()等函数进行处理。

服务器装什么软件 phpcms注入漏洞

本文利用了PHPCMS V9的两个漏洞,一个是读取任意文件漏洞,另一个是模版运行php脚本漏洞。使用到的工具:Navicat for Mysql/IE浏览器(建议使用代理)/湛蓝v9代码包(包含文中使用到的所有文件、代码和木马)

1、放置data.txt以备在目标站点读取并在目标站点生成PHP木马脚本使用。

例如将data.txt放置在yun.baidu测试数据/j0192/data.txt

2、通过v9漏洞获取配置信息(请参阅:phpcms V9最新读取站点任意文件漏洞)。

/index.php?m=searchc=indexa=public_get_suggest_keywordurl=asdfq=phpsso_server/caches/configs/database.php

3、通过v9系统漏洞获取到的数据库信息远程登陆目标站点数据库,在v9_admin和v9_sso_admin表中添加账号

username字段:admn

password字段:10203d4623c1957d041818196ff9822a

encrypt 字段:bGV22e

issuper 字段: 1

4、通过数据库添加管理员账号后使用以下用户名密码在后台登陆,然后修改当前用户密码。

用户名:admn

密码:123456

5、ctrl+a复制write.php全部内容粘贴进v9默认模版下的footer.html保存,然后点击footer.html的可视化运行该模版中的脚本,到此时就完成在目标站点生成木马脚本。

6、打开ifeng测试数据/caches/caches_template/default/wap/data.class.php

用户名:admin

密码:admin

7、隐藏新增加的管理员。

通过木马脚本上传替换/phpcms/modules/admin/admin_manage.php(默认匹配%admn%),然后登陆目标站点后台查看管理员列表是否还有用户名为admn的超级管理员,如果没有则表明我们完成了新加管理员的隐藏。

8、隐藏新增加的关联链接

通过木马脚本上传替换/phpcms/modules/admin/keylink.php((默认匹配%skyhome%))

9、将目标网站的漏洞修复,以防其他黑客入侵。

通过木马脚本上传替换/phpcms/modules/search/index.php

防黑参考:

1、关闭数据库远程访问。

2、静态文件及附件等文件目录禁止执行权限。

3、脚本文件目录禁止写权限。

4、系统后台等重要目录限制IP访问。

5、及时关注开源系统官方补丁升级和乌云、sebug等漏洞发布平台,修复系统漏洞。

关于phpurl注入漏洞的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于phpurl注入漏洞 PHP防注入的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did166652
更新时间:2023-03-09   阅读:52次

上一篇: php源码加密混淆 php混淆加密解密

下一篇:公司php网站模板 php开源企业站

相关资讯

最新资料更新

  • 1.让dedecms实现shtml包含的实现方法
  • 2.dede5.7验证码错误不显示的解决方法
  • 3.dedecms5.7后台发布文章提示“标题不能为空”的解决方法
  • 4.详解织梦DEDECMS站点内容自动更新到新浪微博的方法
  • 5.Dedecms文章标题及文章摘要长度修改的方法
  • 6.织梦DEDECMS缓存文件时间长度的修改方法
  • 7.织梦dedecms不能上传或者保存jpeg格式图片的解决方法
  • 8.dede:channel标签支持调用子栏目描述description及关键词keywords的办法
  • 9.DedeCMS不支持PHP5.3、5.4及以上版本后台500错误白屏的解决方法
  • 10.织梦CMS提示DedeTag Engine Create File False错误的解决办法总结
  • 11.DedeCms后台登录一片空白的解决方法
  • 12.dedecms 的cn_substr_utf8字符串截取函数商榷
  • 13.dede文章页面如何显示作者的头像默认只能显示作者用户名
  • 14.DEDECMS调用指定栏目下tag标签的方法
  • 15.DedeCMS调用相关文章likearticle附加自定义字段
  • 16.详解织梦DedeCMS栏目页分页标题Title添加“第N页”的方法
  • 17.详解DeDeCMS织梦手机版网站首页如何更新
  • 18.织梦DedeCMS的4个常用函数介绍
  • 19.dedecms联动类别的图文使用方法
  • 20.DEDECMS织梦likearticle 调用全站相关文章

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]