代码执行漏洞
漏洞简述
应用程序在调用一些能够将字符串转换为代码的函数时,如PHP中的eval(),没有考虑用户是否控制这个字符串,造成的代码执行漏洞。
命令执行与代码执行漏洞区别
命令执行漏洞是可以直接调用操作系统命令,代码执行漏洞是靠执行脚本代码调用操作系统命令
命令执行&代码执行漏洞危害
可以执行代码、系统命令进行读写文件、反弹shell等操作,拿下服务器,进一步内网渗透等等。
代码执行,文件读取,命令执行的函数都有哪些
代码执行:eval,pregreplace+/e,assert,calluserfunc,calluserfuncarray,create_function
命令执行:
system(), exec(), shellexec(), passthru() ,pcntlexec(), popen(),proc_open()
文件读取:
filegetcontents(),highlightfile(),fopen(),read file(),fread(),fgetss(), fgets(),parseinifile(),showsource(),file()等
漏洞实例
Discuz 7.x/6.x 全局变量防御绕过导致代码执行
由于php5.3.x版本里php.ini的设置里request_order默认值为GP,导致$_REQUEST中不再包含$_COOKIE,我们通过在Cookie中传入$GLOBALS来覆盖全局变量,造成代码执行漏洞。
cd discuz/wooyun-2010-080723/ 进到靶机环境目录
service docker start 启动docker
docker-compose up -d 构建环境启动好后,访问http://your-ip:8080/install/ 来安装discuz 数据库地址填写db,数据库名为discuz,数据库账号密码均为root 安装好后随便访问个帖子,并抓包。 把cookie进行替换




漏洞修复
Last updated
Was this helpful?