ZZCMS8.1|代码审计

这周的审计任务

ZZCMS8.1是站长招商网内容管理系统。审计这个CMS的原因很多,这里就不详说了(其实是漏洞类型多点

                                                                                           环境搭建

1,虚拟机win7 32位,用wamserver或者phpstudy搭建环境。

2,ZZCMS8.1源码(已分享链接)放到WWW目录下面

3,安装,访问(  http://127.0.0.1/zzcms8.1/install  ),如果提示我们安装向导已经安装过,重安装需删除根目录下的 /install/install.lock 文件。删除之后再重新访问该安装页面(  http://127.0.0.1/zzcms8.1/install  )。一路选择下一步,直到设置页面,创建数据库......安装完成。

                                                                                            代码审计

审计的时候当然不是漫无目的的直接一个一个看php文件,先拿出来我们的代码审计工具扫一下(上篇文章提到),下面将会通过几个漏洞类型提到

先附图一张工具自动审计的漏洞,不过误报率很高。

XSS漏洞

可以说是最简单的一个漏洞了,先看一下

链接(http://127.0.0.1/zzcms8.1/uploadimg_form.php),问题出在uploadimg_form.php里面输出语句有可控变量,并且没有过滤,从而造成XSS漏洞

value="<?php echo @$_GET[‘imgid‘]?>"上图68行可以清楚的看到imgid是没有过滤直接输出的。

因此可以直接构造XSS的payload:http://127.0.0.1/zzcms8.1/uploadimg_form.php?imgid="><script>alert(/orange/)</script><"

这个页面是需要登陆的

登陆验证代码

<?php
if(!isset($_SESSION)){session_start();}
if (!isset($_COOKIE["UserName"]) && !isset($_SESSION["admin"])){
session_write_close();
echo "No Login!";
exit;
}
?>

如果你不想登陆的话,可以注释掉登陆的代码就好。还有其他处存在XSS,这里我只写一处

时间: 2024-11-03 02:03:43

ZZCMS8.1|代码审计的相关文章

php代码审计知识整理【4】

代码审计 =================================================================================================== *   sql注入     **  变量未过滤导致         *** http://www.test404.com/post-811.html         -   $_SERVER变量未过滤,请求头中X_FORWARDED_FOR,CLIENT_IP,HTTP_HOST,ACCE

php代码审计之弱类型引发的灾难

有人说php是世界上最好的语言,这可能是对开发人员来说,确实有这方面的特点,因为它开发起来不像其他语言那样麻烦,就比如:弱类型,它不需要像java等语言那样明确定义数据类型.这给开发带来了很大的便利,所有的数据类型都可以用$xx来定义,而不需要int i,string a,fload b等等这样去定义它.这样确实很方便,因为php帮助你判断了数据类型,比如整形int ,你只要$a=1;那这个1就是整形,$a='abc'那这个abc就会被php判断为字符串类型.但是弱类型方便是方便,但是带来的安全

技术专题-PHP代码审计

作者:坏蛋链接:https://zhuanlan.zhihu.com/p/24472674来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 一.前言 php代码审计如字面意思,对php源代码进行审查,理解代码的逻辑,发现其中的安全漏洞.如审计代码中是否存在sql注入,则检查代码中sql语句到数据库的传输 和调用过程. 入门php代码审计实际并无什么门槛要求,只需要理解基础的php语法规则,以及理解各种类型漏洞的出现原因则可以开始尝试审计php源代码.通常的漏洞演示中

PHP代码审计1-审计环境与调试函数

审计环境与调试函数 审计环境 测试环境 常用集成环境:phpStudy.WampServer #不同的操作系统下,漏洞测试的结果也可能不一样 PHP编写工具 EditPlu Notepad++ 代码审计工具 Seay 代码审计平台 DVWA(注:windows下,需要将配置文件中的password改为空) ZVulDrill (注:需要重新导入数据库文件) 漏洞验证辅助工具 Burp Suite 浏览器扩展(Hack Bar.Firebug.Modify) 正则调试工具 SQL执行监控工具 常用

代码审计基础知识

代码审计函数篇 addslashed() 添加反斜杠 stripslashed() 去掉反斜杠 get_magic_quotes_gpc() 判断是否开启gpc expode(".",$array) 分割成数组 is_numeric() 判断是否为数字 sizeof() 判断长度 trim() 去处字符串开头和末尾的空格或其他字符 exec() 不输出结果,返回最后一行shell结果,所以结果可以保存到一个返回的数组里面 passthru()只调用命令,把命令的运行结果原样地直接输出到

php代码审计学习之dvwa_sql

0x00 由于转了onenote行列,所以已经好久没有发表新的随笔了,但是想想还是非常有必要的,这几天开始学习php代码审计,所以先开始发这一些的随笔吧! 首先就先通过十大测试平台dvwa开始学习吧,先在这里带上参考的大牛链接,感谢分享 1.http://drops.wooyun.org/papers/483 2.http://www.lxway.com/86980986.htm   is_numeric 函数绕过 3.http://www.cnblogs.com/Safe3/archive/2

代码审计入门后审计技巧

很多朋友读了<PHP代码审计>,书的确很好. 根据书中内容总结大概如下: https://www.waitalone.cn/introduction-to-code-auditing.html 当你面对100行代码,你可以轻松找到漏洞.但当面对1W行以至于整个项目的代码时候,你还能轻松的找到么? 这时候想到第一个问题,可能是应该怎么下手?从哪里下手? 程序可以理解为树,树根是数据库,树干是支撑框架.容器,树叶是Web程序,等等. 当数据从Web程序通过时候,一定会有数据到达数据库.我想数据库的

php代码审计基础笔记

出处: 九零SEC连接:http://forum.90sec.org/forum.php?mod=viewthread&tid=8059 ---------------------------------------------------------- team:xdsec&90sec author:wilson blog:http://blog.wils0n.cn/ 文章链接:wilson's blog_php代码审计基础笔记[求人气~~] ----------------------

aspx代码审计-1

今天和大家分享一下aspx网站的代码审计,漏洞类型就是SQL注入和cookie欺骗. 本文作者:i春秋签约作家--非主流 今天看的cms名字叫做:XX星员工请假系统 我们首先看一下网站的目录结构: 其中,很明显可以看到bin目录下面都是dll文件,也就是aspx网站的源码:install目录就是安装目录:admin目录就是后台目录-etc. 我们今天的目标是纯白盒审计,一切只看代码.下面就是正题咯 先看login.aspx吧,毕竟登录框,说不定就有注入呢? 其中inherits的值就是这个文件的