- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
细谈Web系统安装程序安全
Author:Yaseng
[目录]
0x00 前言
0x01 关于程序安装文件
0x02 最土团购直接重复安装 加 getShell
0x03 跳转绕过 phpdisk header bypass getShell
0x04 全局变量覆盖绕过 sdcms
0x05 非主流 dcrcms 的非常重装
0x06 phpweb 安装会员验证绕过
0x07 其他绕过实例
0x08 安全代码的编写
0x09 总结
前言
作为一个Web系统,安装程序是必不可少的。提供安装系统,已连接数据库和初始化网站数据,当首次安装时,系统一般会生成一个lock文件以免非法重装,但我们可以通,导致系统重装,系统数据丢失甚至getShell,本文以多个实例浅谈web系统安装程序的安全。
关于程序安装文件
web系统安装在第一次访问程序入口的会自动安装, 以笔者熟悉的php为例,一般是install.php 或者根目录下的install文件夹,安装流程如下
图一
围观以上内涵图先,接下来我们用多个案例细谈之。
最土团购直接重复安装 加 getShell
参考 http://www.0855.tv/post/46.htm
1.访问/install.php (有的人懒,并没有删除这个文件)2填写自己本机搭建好的Mysql帐户和IP,重新安装之。3注册一个帐户,第一个注册的默认为管理员。4访问/manage/index.php
5点击 设置--模版---选择about_job.html添加PHP一句话6用菜刀链接/about/job.php‘a’] 赋值为 $a Ok 继续往下看已安装检测代码
$insLockfile = dirname(__FILE__)./install_lock.txt; //在全局数据遍历之前
if(file_exists($insLockfile)){
exit( 程序已运行安装,如果你确定要重新安装,请先从FTP中删除 install/install_lock.txt!);
}
这里的 insLockfile是我们可控的(全局变量覆盖),随便传入一个参数
/install/index.php?insLockfile=1
图四
图四位sdcms官方网站,利用poc
/install/index.php?insLockfile=1step=4dbhost=localhostdbname=xdcmsdbuser=rootdbpwd=dbpre=c_dblang=gbkadminuser=yasengadminpwd=90sex
加粗部分填写配置 直接绕过 重装
dcrcms 逻辑缺陷导致二次安装
我们来看dcrcms非主流安装程序,没有已安装检测代码,index.php写入配置,传入install_action.php,当安装结束时,
function install_end()
{
//安装收尾
//把安装文件的名字换了
@rename(index.php, index.php_bak);
}
额 改了index.php 有毛用,index.php只是一个配置数据的发射器,好吧 既然你改名的 index 我就本地写一个index吧...
图五
提交本地表单
图六
Done !!!
phpweb 重装vip验证绕过
Phpweb 作为一个收费系统,安装时有会员验证,所以开发人员的天真的免去了已安装检测.
图七
但是安装流程有 post过来的 nextstep控制
图八
Firefox tamper 直接绕过安装 (破解此程序未测
文档评论(0)