现在,最新的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] 黑客接单网
...
导语:近来,腾讯游戏安全中心捕获一款网吧内传达的歹意软件。原以为是惯例的网吧盗号木马,但详细剖析之后发现并非如此。经证明该歹意软件是现在发现的首款运用Windows SMB缝隙传达,开释虚拟钱银矿机挖...
前些年Lawrence Alexander颁发了一篇使用Google Analytics查找网页之间的联络联络的文章,客岁,我也宣告了一个关于若何使用Python自动开掘信息,然后将其可视化的帖子,不...
1、HPP HTTP参数污染 HTTP参数污染指的是,在URL中提交相同键值的两个参数时,服务器端一般会进行一些处理。比方Apache就要以最终一个参数为准,比方: user.php?id=111&a...
几个月前,我正在编写一篇关于PHP反序列化缝隙的博客文章,决定为这篇文章找一个实在方针,能够让我将测试数据传输给PHP unserialize ()函数来完结演示意图。所以我下载了一批WordPres...
本文我得先从我最近参加的一个安全检测项目开端谈起,本次的客户是一家企业,不得不说,本次咱们的客户的安全防护做得非常好。他们的安全运营中心(SOC)装备了许多先进的内部反常检测东西以及坚强的作业呼应团队...