您的位置:

php环境cmsxss漏洞,php防止xss

本文目录一览:

织梦cms漏洞的漏洞多吗?要怎么检查有没有漏洞呢?要是出现漏洞的话,怎么办呢?

对于用户越多的CMS,研究的人就越多,发现的漏洞越多!下面就简单的提供几个织梦cms的漏洞常用解决方法:

1.第一步就是在dedecms的后台更新补丁,尽可能升级为最新版本。

2.data、templets、uploads、install这几个目录去掉写的权限 。

3.用dedecms后台的“系统”中的文件校验和病毒扫描功能 查杀病毒木马。

4.如果只是使用文章系统并没有使用会员功能,则强推推荐:关闭会员功能、关闭新会员注册、直接删除member目录或改名。

5.重点查看/plus/config_s.php 此为dedecms里面的流量攻击脚本。

6.检查有无/data/cache/t.php 、/data/cache/x.php和/plus/index.php 这些木马文件,有的话则应立即删除。

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

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

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

例如将data.txt放置在yun.baidu.com/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.com/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等漏洞发布平台,修复系统漏洞。

php防止sql注入以及xss跨站脚本攻击

1.post数据

封装转义函数 防sql注入  eag:addslashes($username);addslashes($password); 

eag:防止sql注入函数封装 

function deepslashes($data){

#判断$data的表现形式 并且需要处理空的情况

if(empty($data)){

return($data);

}

#高级简写 return is_array($data) ? array_map('deepslashes',$data) : addslashes($data);

#初级写法

if(is_array($data)){

#递归循环遍历处理多维数组

foreach ($data as $v) {

return deepslashes($v);

}

}else{

#单一变量

return addslashes($data);

}

#初级写法

}

2.get数据

指url 传参数导致sql发生改变

解决方案

①强制转换,使用函数intval 或者 数据类型 的关键字int

②隐式转换,通过运算,只需要+0即可

3.xss跨站脚本攻击

指恶意攻击向web页面插入html、js标签导致页面出现错误

解决方案

转义标签'' ''即可,有以下php函数可解决

htmlspecialchars 函数 和 htmlentites函数

eag:

function deepslashes($data){

#判断$data的表现形式 并且需要处理空的情况

if(empty($data)){

return($data);

}

return is_array($data) ? array_map('deepslashes',$data) : htmlspecialchars ($data);

}