1.学习RCE漏洞(ThinkPHP2)
2.CVE-2018-12491phpok文件上传漏洞
3.thinkphp 3.2.3 exp注入漏洞分析
4.php网站怎样解决跨站脚本攻击漏洞?
学习RCE漏洞(ThinkPHP2)
近日,有渗透测试高手chaonan(潮男)在测试过程中发现ThinkPHP2.x版本存在一个严重的洞网任意代码执行漏洞。以下是站源漏洞复现的详细步骤:
首先,我们需要准备一个Docker环境,网站并从vulhub下载相关资料。源码然后,漏漏洞spring framework源码进入漏洞复现的洞网目录,开始执行实验。站源
实验结束后,网站别忘了清理漏洞环境,源码以确保安全。漏漏洞
简单访问该环境,洞网可以确认ThinkPHP2.1版本的站源任意代码执行漏洞已成功搭建。通过查询错误信息,网站我们进一步验证了这一点。源码
接着,我们通过访问特定URL,确认了漏洞的存在。这一漏洞允许我们利用蚁剑工具植入一句话木马。
最终,我们成功连接到webshell,c 坦克游戏源码从而证实了漏洞的利用能力。
CVE--phpok文件上传漏洞
phpok,一个基于PHP和MySQL的企业网站系统,其4.8.和4.9.版本存在严重的安全漏洞,即任意文件上传漏洞(CVE--)。这一漏洞允许恶意攻击者通过登录后台,利用文件上传功能上传任何类型的文件,进而可能获取对网站的权限控制。 漏洞的严重性被评为高危,影响版本包括phpok_4.8.和4.9.。小程序 源码安装要利用这个漏洞,攻击者需要具备后台登录权限。针对此漏洞的利用步骤如下:在Kali系统中,通过..0.2访问网站。
进入管理员登录界面,使用默认账号admin:admin进行登录。
进入附件分类管理,修改允许上传的文件扩展名,添加包含恶意PHP代码的压缩文件。
在资讯中心创建新内容时,翻译易语言源码选择刚刚修改的压缩文件作为上传,同时上传预先准备的webshell.php木马文件。
访问上传的webshell.php,预览以确认文件路径和文件名,通过URL访问如..0.2/res/soft/...,可以看到服务器响应。
成功执行了id命令,表明攻击者已获取了服务器控制权。
对于此漏洞的分析,PHPOK的arm ip核源码后台文件上传功能被滥用,威胁到系统的安全性。要避免这种风险,用户需尽快将系统升级到最新版本,修复此漏洞。thinkphp 3.2.3 exp注入漏洞分析
在官网下载thinkphp3.2.3,配置MySQL账号密码于Convention.php文件,添加一行用于打印SQL语句。漏洞代码通过特定的HTTP请求触发,如:http://.0.0.1/index.php?id[0]=exp&id[1]==1 or sleep(5)。通过断点调试,跟踪至Model类的select函数,进而深入至其内部处理逻辑,发现$exp的值即为传入的exp,该值被直接拼接到后续SQL语句中,形成SQL注入。
使用I函数可以防止注入攻击,原因在于ThinkPHP\Common\functions.ph中的think_filter函数会将特殊关键字(如EXP、OR等)加上空格,避免进入if语句进行SQL字符拼接。
对于普通的SQL注入,thinkphp3.2.3会通过解析数据库字段类型来防止注入。在Model类的_parseType()函数中,对于字段类型为int()的字段,会将传入的值转化为整数类型,使得注入语句失效。对于字符型注入,系统在Think\Db\Driver.class.php中的escapeString()函数中对特殊符号进行转义,实现防御。
除了exp注入,还有bind注入方法。bind注入通过在SQL语句中插入特殊符号,导致SQL错误进行攻击。虽然实现较为复杂,但由于think_filter函数未对bind进行过滤,因此即使使用了I函数获取参数,仍有可能实现bind注入。
针对此漏洞的修复策略包括:1. 尽量在应用中使用I函数获取用户输入的参数;2. 修复代码,将安全补丁整合到index.php入口文件中,确保应用从源头开始执行安全措施。
php网站怎样解决跨站脚本攻击漏洞?
这应该是一套开源的CMS系统,每套CMS系统源码不一样,但是只要发现$_GET,$_REQUEST这样的代码,都可以改成$out = htmlspecialchars($_GET[XXX],ENT_QUOTES)