如何进行代码审计semcms


本篇文章为大家展示了如何进行代码审计semcms,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。使用给搭建环境:phpstudy2018+phpstrom+Windows10semcms v3.9 的下载:http://www.sem-cms.com/TradeCmsdown/php/SEMCMS_PHP_3.9.zipSemcms v3.9的安装:第一步:将解压后的文件上传到phpstudy2018网站根目录第二步:运行install目录进行默认安装(在地址栏输入http://你的域名/install)使用phpstorm打开网站文件夹有与浏览器打开网站。通过分析网站首页index.php文件,发现第一步需要加载文件web_inc.php文件,此文件是漏洞触发文件。见图3.1分析web_inc.php文件,发现初始位置,加载了两个文件,一个是连接数据库的,没啥看的,另一个是contorl.php文件,进行sql语句的过滤,见图3.2.进入contorl.php文件分析。发现仅对GET请求做过滤,并且采用黑名单过滤,可以绕过。见图3.3再分析web_inc.php文件,我们直接分析漏洞点。可以发现先判断是否存在POST请求中是否存在languageID,有就进行sql黑免费云主机域名名单过滤,然后$Language=$languageID赋值,黑名单我们可以绕过,然后判断language是否为空,不为空就进入if语句,也就是漏洞点,将$language变量赋值给sql语句。并且未做单引号保护。见图3.4漏洞复现再浏览器中,访问网站首页,并开启post请求。在post框中加入languageID=1 ,访问,发现显示正常。见图4.1将languageID的值改为:1 and ascii(substr(database(),1,1))^109,发现网页发生了变化。这样就判断出了数据库名的第一字母就是m,asii码=109.见图4.2这样攻击者可以通过不断的测试数据库每个字母的asii码值,最终确定数据库名。为了方便测试,自己写了个简单的python脚本(sqlmap当时用的少),爆出数据库名。因为猜测的范围比较大,耗时可能有点长,但是,毕竟比手工快。见图4.3上述内容就是如何进行代码审计semcms,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注云编程开发博客行业资讯频道。

相关推荐: OpenSSL中生成自签名证书的方法有哪些

这篇文章主要介绍了OpenSSL中生成自签名证书的方法有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。OpenSSL的命令行数量很庞大,很吓唬人。这是因为OpenSSL所涉及到的领域的确很多…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 02/05 10:08
下一篇 02/05 10:08