
代码审计与分析
文章平均质量分 82
学习审计过过程中记录的一些分析过程
不要温顺地走进那个良夜
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JAVA代码审计—JFinal_cms
对JFinal_cms 的一次代码审计原创 2023-10-18 22:17:51 · 1392 阅读 · 0 评论 -
ThinkPHP 5.0.24反序列化分析
调试环境:phpstudy+phpstorm+xdebugphp版本:php7.3.4nts源码:Thinkphp5.0.24注意:源码下载地址:https://www.thinkphp.cn/donate/download/id/1279.html三、构建利用点控制器文件(Controller)ThinkPHP的控制器是一个类,接收用户的输入并调用模型和视图去完成用户的需求,控制器层由核心控制器和业务控制器组成,核心控制器由系统内部的App类完成,负责应用(包括模块、控制器和操作)的调度控制,包原创 2023-04-12 23:58:48 · 1551 阅读 · 0 评论 -
phpstudy_小皮面板XSS到RCE
phpStudy小皮面板用户登录日志存在存储型XSS漏洞,利用存储型XSS攻击者可以通过JS调用面板中的计划任务执行系统命令。原创 2023-03-23 17:28:51 · 1105 阅读 · 0 评论 -
禅道V16.5SQL注入漏洞(CNVD-2022-42853)
禅道项目管理软件是一款国产的、基于LGPL协议、开源免费的项目管理软件,它集产品管理、项目管理、测试管理于一体,同时还包含了事务管理、组织管理等诸多功能,是中小型企业项目管理的首选,基于自主的PHP开发框架──ZenTaoPHP而成,第三方开发者或企业可非常方便的开发插件或者进行定制。在登录处未对用户输入的account参数内容作过滤校验,导致攻击者拼接恶意SQL语句执行,攻击者可利用漏洞获取数据库敏感信息。原创 2023-03-23 17:25:50 · 983 阅读 · 0 评论 -
DuomiCms x3.0前台duomiphpajax.php SQL注入漏洞审计复现
语句使用了拼接,而拼接用的变量又多数是全局变量,我们在前面的代码执行漏洞中,提到程序有注册变量的行为,这样容易造成变量覆盖。拼接在SQL语句的末尾,且没有被引号包裹。非常好利用,但是对id变量进行了类型判断,必须是数字,所以没办法直接利用。变量,该变量为全局变量,可以由用户控制,而且其位置在SQL语句最后,两边也没有引号包裹,很好利用。语句,会先经过下面的正则,这里过滤了一些特殊语法,不允许我们使用联合查询。变量在SQL语句中被引号包裹了,如果引入注释符号话,会触发。来代替,最后取第二个引号之后的内容给。原创 2023-03-23 17:20:35 · 553 阅读 · 0 评论 -
wuzhicms代码审计
整个cms的路由从www目录下index.php开始,首先包含/configs/web_config.php加载网站的一些基础配置,主要功能是通过包含核心框架文件coreframe下core.php实现。在coreframe/app/attachment/admin/index.php中对定义了一个my_unlink函数。这里对使用上面提到的array2sql函数对参数值进行过滤。/coreframe/app/template/admin/index.php这个文件中还有一个函数也有同样的问题。原创 2023-03-23 17:13:49 · 447 阅读 · 0 评论 -
seacms v9.92变量覆盖导致越权
这里参考:https://xz.aliyun.com/t/6192和https://www.freebuf.com/articles/web/210902.html 对变量覆盖实现越权操作,来学习代码审计,文章使用的是v9.92版本。,需要在请求中同时添加对应的其他三个参数,如下图所示,请求中提交如下五个参数可以覆盖session中的seaadminid、seagroupid、以及sea_ckstr(登陆需要使用到的验证码)在披露这处变量覆盖导致越权的漏洞之前,其实官方就对这里注册变量加强了安全检查。原创 2023-03-23 17:01:53 · 459 阅读 · 0 评论 -
bluecms_v_1.6sp1代码审计
这是一个比较古老的cms,可以说是满目疮痍,更靶场一样。上述漏洞主要是前台的。后台同样存在类似或者没有写到的漏洞。由于自己技术有限,就到这。原创 2023-03-23 16:51:40 · 1095 阅读 · 0 评论 -
熊海cms_v1.0代码审计
取出密码与POST提交的密码进行比较验证),且将admin123用户的md5值(这里是1的md5)带进去给password参数进行验证,即可绕过控制台登录界面。将cid参数值写成XSS语句,SQL语句执行错误,将xss语句一并输出显示在页面,造成反射型XSS。使用phpstudy环境搭建,php版本要小于7(我这里使用php5.4),之后要自己新建一个数据库用于安转cms(cms不能自动新建数据库)号来表示不同的留言,对那条留言编辑要提交对应的id。后台注入挺多的,大多是未过滤造成的,这里不一一列举了。原创 2023-03-23 16:36:07 · 1051 阅读 · 0 评论 -
seacms v10.1后台多处RCE 分析
因为插入代码要注释掉后面的语句并且闭合前面的(不会影响页面正常,隐蔽性好。seacms多处存在RCE,原因都是对传入的参数未经过滤直接写入文件中执行造成的。这是是将设置参数值写入data/admin/ip.php文件,完成设置。这里构造耀执行的代码时,需要注意闭合前面的语句和注释后面的引号。这里参数很多,有的为了避免XSS,还是有做html实体编码的。这里可以开启或关闭IP安全设置并可以指定ip,通过。并且直接传入的参数拼接写入文件,没有任何过滤。这里也是同样的原因,没有过滤就直接写入文件。原创 2023-03-19 14:08:10 · 572 阅读 · 0 评论 -
seacms_v6.4(海洋cms)前台RCE 分析
在common.php中对GET,POST,COOKIE等请求传入的全局变量中的键值对转换成变量,并对其中的值使用addslashes()转义预定义的特殊符号。在eval()函数中,首先要闭合前面的if语句,可以构造1)phpinfo();首先search.php入手,这个文件包含了common.php和main.class.php。参数没做严格的限制,就将其传入了模板文件中,然后使用eval()执行模板中包含。的代码,通过闭合拼接语句的方式,插入恶意代码,实现远程命令执行。在eval()函数中,原创 2023-03-19 14:00:59 · 1712 阅读 · 0 评论 -
Django SQL 注入漏洞 (CVE-2022-28346) 复现
Django 是用 Python 开发的一个免费开源的 Web 框架,几乎囊括了 Web 应用的方方面面,可以用于快速搭建高性能、优雅的网站,Django 提供了许多网站后台开发经常用到的模块,使开发者能够专注于业务部分。原创 2023-03-16 15:41:28 · 1109 阅读 · 0 评论 -
DVWA靶场分析笔记
用户登录后,在服务器就会创建一个会话(session),叫做会话控制,接着访问页面的时候就不用登录,只需要携带Sesion去访问,是用户的身份令牌。sessionID作为特定用户访问站点所需要的唯一内容。如果能够计算或轻易猜到该sessionID,则攻击者将可以轻易获取访问限,无需录直接进入特定用户界面,进而进行其他操作。用户访问服务器的时候,在服务器端会创建一个新的会话(Session),会话中会保存用户的状态和相关信息,用于标识用户。原创 2023-03-16 13:03:14 · 1322 阅读 · 0 评论 -
pikachu靶场分析笔记
敏感信息泄露虽然一直被评为危害比较低的漏洞,但这些敏感信息往往给攻击着实施进一步的攻击提供很大的帮助,甚至“离谱”的敏感信息泄露也会直接造成严重的损失。测试发现,这里输入kobe可以显示,输入kobe’ and 1=1#时也显示,但输入kobe’ and 1=2#时显示不存在,说明,kobe肯定为真的,只要and后面也为真,则返回kobe结果。这样就不会刷新验证码。只要我们爆破时,把上一次的请求响应包中的token值当作这一次的token一起提交到服务端即可完成token验证,也就达到了爆破的目的。原创 2023-03-16 14:49:37 · 1088 阅读 · 0 评论 -
CVE-2020-21378(seacms后台SQL注入) 分析
变量没有经过什么过滤就直接插入到SQL语句中(360webscan.php会使用正则规则对注册的变量会进行检查,但对$id并没有任何检查),也没有引号包裹,十分好利用。在seacms v10.1版本中,在sql.class.php中GetOne中加入了对SQL语句的安全检查(上面的注入语句这里用不了)绕过方法参考https://xz.aliyun.com/t/2828#toc-3。下面这里的这个检查与先前审计过的duomicms的检查函数一样,是以单引号为界,把第一个引号前的语句给。原创 2023-03-16 15:30:38 · 1606 阅读 · 0 评论 -
xss-labs靶场分析笔记
可交换图像文件格式,是专门为数码相机的照片设定的,可记录数码照片的属性信息和拍摄数据。比如我们这里随便拿一张照片右键,点击属性,点详细信息,这里有很多可修改的内容,比如我们修改标题为。原创 2023-03-18 14:27:43 · 284 阅读 · 0 评论 -
sqli-labs靶场分析
这里是 基于WAF的一个错误引起的SQL注入,源代码level 29文件夹里有三个php文件,默认访问这个文件夹的index.php但这个文件是没有接入“WAF”的。在测试符号后面添加and sleep(5) --+,如果成功闭合前面的语句,则会执行sleep(5),利用延时注入的原理判断闭合方式。来看看第二种格式,第二种格式除了能像第一种格式一样得到数组内元素的值外,还能得到元素的索引值,并保存到$key变量中,如果数组的索引值未经过人工设定,则返回系统默认的设定值。第一个id的值符合规则,WAF放行。原创 2023-03-18 11:31:57 · 3543 阅读 · 0 评论 -
upload-labs靶场分析
他的作用例如你上传一个11.php的文件,但是服务器解析成11.php12345677.php,而加上11.php%00后,会自动截断后面的文件名。,因为apache的多后缀解析漏洞的要点是要挑选一个apache不认识的后缀在最后,图片的后缀apache都是认识并能正确解析的,所以我们这里用了7z后缀,这也是这关作者提供这么多白名单后缀的原因。该函数有一个返回值,如果该函数执行成功,则返回图片的资源标识符,如果该函数执行失败(比如打开的图片不存在,文件格式错误等等),则反馈false。原创 2023-03-18 12:04:54 · 291 阅读 · 0 评论 -
ZVulDrill靶场审计
由于我这里的环境问题,需要更改lib.php中mysql_real_escape_string函数为mysql_escape_string函数。这里提交留言到数据库的时候,会通过clean_input函数转义特殊符号但没有对相关字符进行过滤处理,被污染的数据会原样提交到数据库中。这里存在SQL注入的是管理员登录的后台地址,普通用户的登录的地方输入变量被clean_input函数转义了特使符号。这里自动审计出来的几处可能存在SQL注入的地方其实是被引号包裹了而且经过了clean_input函数的过滤。原创 2023-03-17 12:50:49 · 1047 阅读 · 0 评论