现在,最新的DVWA现已更新到1.9版别(http://www.dvwa.co.uk/),而网上的教程大多停留在旧版别,且没有针对DVWA high等级的教程,因而萌发了一个编撰新手教程的主意,过错的当地还请咱们纠正。
DVWA简介
DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性判定的PHP/MySQL Web运用,旨在为安全专业人员测验自己的专业技能和东西供给合法的环境,协助web开发者更好的了解web运用安全防备的进程。
DVWA共有十个模块,分别是
Brute Force(暴力(破解))
Command Injection(命令行注入)
CSRF(跨站恳求假造)
File Inclusion(文件包括)
File Upload(文件上传)
Insecure CAPTCHA (不安全的验证码)
SQL Injection(SQL注入)
SQL Injection(Blind)(SQL盲注)
XSS(Reflected)(反射型跨站脚本)
XSS(Stored)(存储型跨站脚本)
需求留意的是,DVWA 1.9的代码分为四种安全等级:Low,Medium,High,Impossible。初学者能够经过比较四种等级的代码,接触到一些PHP代码审计的内容。
DVWA的建立
Freebuf上的这篇文章《新手攻略:手把手教你怎么建立自己的浸透测验环境》(http://www.freebuf.com/sectool/102661.html)现已写得十分好了,在这里就不赘述了。
之前模块的相关内容
Brute Force
Command Injection
CSRF
File Inclusion
File Upload
本文介绍Insecure CAPTCHA模块的相关内容,后续教程会在之后的文章中给出。
Insecure CAPTCHA
Insecure CAPTCHA,意思是不安全的验证码,CAPTCHA是Completely Automated Public Turing Test to Tell Computers and Humans Apart (全自动区别计算机和人类的图灵测验)的简称。但个人觉得,这一模块的内容叫做不安全的验证流程更稳当些,由于这块主要是验证流程呈现了逻辑缝隙,谷歌的验证码表明不背这个锅。
reCAPTCHA验证流程
这一模块的验证码运用的是Google供给reCAPTCHA服务,下图是验证的详细流程。
服务器经过调用recaptcha_check_answer函数查看用户输入的正确性。
recaptcha_check_answer($privkey,$remoteip, $challenge,$response)
参数$privkey是服务器请求的private key ,$remoteip是用户的ip,$challenge 是recaptcha_challenge_field 字段的值,来自前端页面 ,$response是 recaptcha_response_field 字段的值。函数回来ReCaptchaResponse class的实例,ReCaptchaResponse 类有2个特点 :
$is_valid是布尔型的,表明校验是否有用,
$error是回来的过错代码。
(ps:有人或许会问,那这个模块的试验是不是需求科学上网呢?答案是不必,由于咱们能够绕过验证码)
下面临四种等级的代码进行剖析。
Low
服务器端中心代码:
if( isset( $_POST[ 'Change' ] ) && ( $_POST[ 'step' ] == '1' ) ) { // Hide the CAPTCHA form $hide_form = true; // Get input $pass_new = $_POST[ 'password_new' ]; $pass_conf = $_POST[ 'password_conf' ]; // Check CAPTCHA from 3rd party $resp = recaptcha_check_answer( $_DVWA[ 'recaptcha_private_key' ], $_SERVER[ 'REMOTE_ADDR' ], $_POST[ 'recaptcha_challenge_field' ], $_POST[ 'recaptcha_response_field' ] ); // Did the CAPTCHA fail? if( !$resp->is_valid ) { // What happens when the CAPTCHA was entered incorrectly $html .= "
The CAPTCHA was incorrect. Please try again."; $hide_form = false; return; } else { // CAPTCHA was correct. Do both new passwords match? if( $pass_new == $pass_conf ) { // Show next stage for the user echo "
You passed the CAPTCHA! Click the button to confirm your changes. {$pass_new}" /> {$pass_conf}" /> "; } else { // Both new passwords do not match. $html .= "
[1] [2] [3] [4] [5] [6] 黑客接单网
为什么有今日这篇文章?原因是我在阅读Twitter时,发现关于长途文件包括RFI的一个奇淫技巧!值得记载一下,思路也很别致!由于它打破我之前认为RFI已死的观念:) 正文 RFI引出 咱们知道php最...
每一个高手在生长路上, 都需要与墙作足够的对立. 要么你成功, 站在国际之颠, 然后纵情罗致到尖端的常识; 或许或被它打趴下, 成为芸芸众生中的一人, 然后对它习以为常. 我也不破例. 前不久,...
同源战略(SOP)约束了应用程序之间的信息同享,而且仅答应在保管应用程序的域内同享。这有用避免了体系秘要信息的走漏。但与此一起,也带来了别的的问题。跟着Web应用程序和微服务运用的日益增长,出于有用意...
概述 2019年2月底,unit 42研究人员发现了新出现的为新处理器架构编译的Mirai样本。尽管Mirai的源码在2019年就揭露了,可是它的进犯方针是特定的一批处理器架构集。 Unit 42研究...
在一次偶尔的时机发现公司某个网站存在thinkphp的长途指令履行缝隙,自此对这个缝隙爱不释手。这究竟是为什么呢?首要原因有2点:榜首,假如网站存在这个缝隙,咱们可以去履行各式各样的体系指令来进行测验...
黑客正在使用最近Drupal CMS中的已知缝隙,例如Drupalgeddon2和Drupalgeddon3来传达挖矿软件、长途管理工具(RAT)和以技术支撑为名的诈骗邮件。 两个缝隙编号为CVE-...