新手攻略:DVWA-1.9全等级教程之SQL Injection

访客6年前黑客文章1399

现在,最新的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
本文介绍SQL Injection模块的相关内容,后续教程会在之后的文章中给出。
SQL Injection
SQL Injection,即SQL注入,是指进犯者经过注入歹意的SQL指令,损坏SQL查询句子的结构,然后到达履行歹意SQL句子的意图。SQL注入缝隙的损害是巨大的,常常会导致整个数据库被“脱裤”,尽管如此,SQL注入仍是现在最常见的Web缝隙之一。近期很火的大使馆连续被黑事情,听说黑客依托的便是常见的SQL注入缝隙。
手艺注入思路
自动化的注入神器sqlmap当然好用,但仍是要把握一些手艺注入的思路,下面扼要介绍手艺注入(非盲注)的过程。
1.判别是否存在注入,注入是字符型仍是数字型
2.猜解SQL查询句子中的字段数
3.确认显现的字段次序
4.获取当时数据库
5.获取数据库中的表
6.获取表中的字段名
7.下载数据
下面临四种等级的代码进行剖析。
Low
服务器端中心代码
 if( isset( $_REQUEST[ 'Submit' ] ) ) {     // Get input     $id = $_REQUEST[ 'id' ];     // Check database     $query  = "SELECT first_name, last_name FROM users WHERE user_id = '$id';";     $result = mysql_query( $query ) or die( '
' . mysql_error() . '' );     // Get results     $num = mysql_numrows( $result );     $i   = 0;     while( $i $num ) {         // Get values         $first = mysql_result( $result, $i, "first_name" );         $last  = mysql_result( $result, $i, "last_name" );         // Feedback for end user         echo "
ID: {$id}First name: {$first}Surname: {$last}";         // Increase loop count         $i++;     }     mysql_close(); } ?>
能够看到,Low等级的代码对来自客户端的参数id没有进行任何的查看与过滤,存在显着的SQL注入。
缝隙使用
实际进犯场景下,进犯者是无法看到后端代码的,所以下面的手艺注入过程是建立在无法看到源码的基础上。
1.判别是否存在注入,注入是字符型仍是数字型
输入1,查询成功:

输入1’and ‘1’ =’2,查询失利,回来成果为空:

输入1’or ‘1234 ’=’1234,查询成功:

[1] [2] [3] [4]  黑客接单网

相关文章

Django 开发中你不可不知的 7 个 Web 安全头-黑客接单平台

Web 是一个不断发展的渠道,有许多向后兼容的问题。 新的 web 安全实践一般来自于对存在缺点的旧功用的知道。 与其经过改动这些功用来损坏旧网站,还不如挑选参加一些更安全的设置。 你能够经过设置 H...

技能共享:几种常见的JavaScript混杂和反混杂东西剖析实战

信息安全常被描述成一场军备竞赛,白帽与黑帽,浸透测验者与黑客,善与恶,本文将聚集这场永无止境决战中的一个小点。 HTML5 & JS 运用中充满着对输入进行验证/注入的问题,需求开发人员一直...

SCP指令注入

我最近正在研讨Java文件传输,碰到了一些风趣的问题。这些问题是我在看到一篇博客中的几个示例代码中发现的。这篇文章描述了用Java履行SCP指令的体系,运用的是盛行的JSch库。当我通读整个代码之后,...

议题解读《我的Web使用安全含糊测验之路》

我的Web运用安全含糊测验之路 什么是Web运用中的含糊测验? Web运用是根据什么进行传输的?HTTP协议。 含糊测验是什么?Payload随机。 Payload放哪里?HTTP恳求报文格局是什么?...

深化了解Json Web Token之实战篇

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

把PHP LFI缝隙变为Webshell的形式

存眷PHP缝隙的同伙必定知道LFI+phpinfo可以搞出一个webshell。 LFI这个条件还算异常,但phpinfo这个照样比较难凑的,所以有点鸡肋。接下来,我共享一个……异常鸡肋的思绪……人人...