美文网首页
无标题文章

无标题文章

作者: lshack | 来源:发表于2016-06-18 23:38 被阅读0次
  • 首先搭建dvwa环境************下载地址************</br>
  • 下面是mac下平台的配置(mac+apache+mysql+php=mamp):





  • 然后是平台配置文件../config/config.inc.php:


    </br>

  • 平台账号/密码:admin/password
    首次访问install.php
    然后观察各项配置是不是绿色权限通过,如发现不是就进入目录设置一下文件权限和php配置即可。最后安装数据库。
    然后登入后把security等级调到low
    我们看注入测试的练习
    首先一些基础的sql语句可以上这边获知:********click-me********
    下面我们看下select的一个非常容易理解的特性,也就相当于某些程序语言的echo:</br>

  • 这个时候应该使用select比之前更加性感了对不!
    我们开始一些基础查询先了解下dvwa的数据库:</br>




  • 我们开始测试:</br>


  • 这里我们输入“1”,看到他返回三行,一行是id,一行是first name,一行是username</br>


  • 这时候的url栏变成了如下:


  • 那么我们手动修改这个id=2的时候,url和页面变成了:


  • 那么很显然可以推测,这里传入数据库查询的参数“id”是可控的不?所以这边当前状态我们可以疑似发掘了一个注入点,我们提交单引号看下结果:



  • 那么这个php页面的查询语句我们也来追根溯源看一下:


  • 他的语句是:select first_name,last_name from users where user_id='';</br>那么我们提交的"1'"就会变成:select first_name,last_name from users where user_id='1'';</br>显然多了一个单引号造成了不闭合,查询自然出错了。</br>这里我们在普及几个查询语句的tip:
  • 不用多说,“臭名昭著”的联合查询。</br>再来个关于 order by:</br>


  • 那么结合联合查询的union 我们想到通常会有注入语句 order by来定位字段数:</br>我们先看下user表中有哪些字段


  • 然后我们使用通常的注入语句order by来尝试猜解字段数:


  • 我们发现猜解1和2的时候页面正常,3的时候就报错了,但是我们字段数显然有8个,所以这里再来张图大家对比观察下:</br>


    </br>

  • 注意观察我select的字段数量,大家发现上图我select了3个字段,所以order by的时候3是正确4是错误。那么我们改成*试试?</br>
    </br>
    很显而易见,1没有问题,8 没有问题,9没有问题,然后在入侵步骤中我们接下来顺理成章地就使用union select了。</br>
  • 现在当我们发现单引号出错的时候,为了让我们的恶意语句插入数据库继续执行,我们需要闭合单引号或者注释掉它。方法有三个:</br>




    </br>
    这里注意了“--”后面有一个空格。在url当中,我们需要使用“+”来代替“--”后面的空格。</br>

  • 那么这个时候我们就可以在中间添加语句进行注入了,也还是通常思路,首先order by 一下:




  • 这里说3个就出错了,原因很简单,咱们看下代码文件并结合之前我们铺垫的order by的小知识点看下:


  • 原文件select了2个字段,所以显然我们只可能order by 到2。</br>接下来联合查询注入:</br>



  • 语句为"1' union select 1,2#“和“1' union select user(),version()#"</br>通过这里我们知道可以在1和2的地方爆出我们所需要的信息,然后我们就可以正常构造查询语句了。这里又有一个tip,因为在mysql版本>5.0以后会有一张系统表叫做information_schema。</br>相关知识点见这里********Click-me********</br>
  • 我们可以通过他来对不知道表名和字段的情况下进行联合查询。</br>1' union select table_name,2 from information_schema.tables where table_schema= 'dvwa'#</br>这里的数据库 dvwa我们可以在上图中替换函数user()为database()就行。
  • 1' union select column_name,2 from information_schema.columns where table_schema= 'dvwa' and table_name= 'users'#
  • 1' union select user,password from users#
    </br>
    ********至此,注入完成!********

相关文章

  • 无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标

    无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章 无标题文章无标题文章无标题文章无...

  • 无标题文章

    无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章

  • 无标题文章

    无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标...

  • 无标题文章

    无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标...

  • fasfsdfdf

    无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标...

  • 无标题文章

    无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标...

  • 无标题文章

    无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标...

  • 无标题文章

    无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标...

  • 无标题文章

    无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章无标题文章

  • 无标题文章

    无标题文章 无标题文章 无标题文章无标题文章 无标题文章 无标题文章

网友评论

      本文标题:无标题文章

      本文链接:https://www.haomeiwen.com/subject/acrbdttx.html