zoukankan      html  css  js  c++  java
  • 划水日记之大哥带我走渗透I

    5/24/19 周五 access注入

    1. 先测试是否有漏洞
    • or
    • nor
    • and 1=1 and 1=2

      2. Order by 猜字表端,发现一共有22个

     

      3..然后使用 union select 1,2,,,,,22

      找到那几个字段就是真实的表。我记得是3,15

      4. 然后猜表名,,,,分别是:admin password

      5. 猜出表名以后,下方就会弹出真正的登陆账号以及密码。。admin  dneedss

    ==============然后打开主目录下的admin或者login就能找到登陆页面了。

    下面开始就是sqlmap了,但是大哥说,只有一个表,所以扫不出来=================

      6.原因很简单,,我修改过这个页面,这里的id为1512。我重新开了一个页面,是1511,,嘿嘿,就可以扫出来了。

    7. 现在我们来看看正确扫出来的哈哈

    8.继续走下去。。。

    ================================================

    5/25/19 任务

    任务三个 : 第一个手工注入找出admin用户的密码,第二个读取我phpstudy中mysql的my.ini这个配置文件的内容,第三个是通过这个注入点写入一个webshell, 都是要求手工,具体方法自己百度mysql5注入相关内容

    1. 找到host文件,

     

    1.找到路径:

     

     

    2.要用管理员权限打开

     

    3.再访问网址,OK啦,全世界就我们最酷!哈哈

     

    4.但是,,,我不会啊,,我记得dvwa里面有一个和这个类似的题= = =  有点懵呢

     

    不过还好,至少看到了路径嘻嘻。。。

    5.然后我就觉得,,空格真的是一个神奇的东西

     

     6.接下来我们用order by看看有多少字段,通过测试,有5个字段

     

    然后我们开始猜表名,发现没有“3”

     

     

    这一是:在所有数据库中,查找“3”的表名,,但是没有变化呢,感觉就是遍历了一波,结果,我真是一个智障的小傻瓜呢===

    第一点:我union select以后的表,页面上显示出来的字段号,才是已有的字段号,我们应该将schema_name一个一个字段的放进去试,最后得出正确的字段号的表名。

    1,2,3,4,schema_name from information_schema.schemata  #寻找该字段的表名

    7.所以第6点是我的误区

    information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式。元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。

    真正的应该是,访问“5”字段

    下面我们来看看5字段:

     

     8. 看到了各种表名,就应该进入某一个表里面,读取管理员账号

     

    (1)首先通过:

    Union select 1,2,,schema_name from information_schema.schemata  #查看schema

    Union select 1,2,,,,,,table_name from information_schema.table where table_schema=’test’ #查看table

     

    9.得到admin

    Union select 1,2,,,,,column_name from infor*****.columns where table_name=’admin’

     

    10.继续构造:

    Columns后出现具体列,就可以直接爆破了,

    union select 1,2,3,username,password from admin

     

    我的天,,终于OK了!任务一终于完成了!55555555

    任务二:第二个读取我phpstudy中mysql的my.ini这个配置文件的内容;

    1. 先了解一下ini文件:.ini 文件是Initialization File的缩写,即初始化文件,是windows的系统配置文件所采用的存储格式,统管windows的各项配置,

    然后,,再理一下自己的思路(虽然没有太多的思路,,但是最主要的是找到PHPstudy下面my.ini的路径,,但是咋个找呢,,我还是跟着组长做一遍吧,,最后找经验吧。。)

      2.我们先打开正常页面

     

    接下来判断权限:

    必须有权限读取并且文件必须完全可读。

    and (select count(*) from mysql.user)>0 /*如果结果返回正常,说明具有读写权限.*/

    and (select count(*) from mysql.user)>0 /* 返回错误,应该是管理员给数据库账户降权了*/

     

      3.有权限以后,看一下权限够不够;

     

    发现权限为root,那就应该够了;

      4.读取一个文件,我们有权限了,但是我们不知道这个文件在哪里,所以下面开始找位置找路径;

    datadir & basedir

    https://blog.csdn.net/wolfalcon/article/details/80528678 #datadir , basedir函数在MySQL中的应用原理

    https://www.jianshu.com/p/fcc5d8e69d68  #如何构建SQL注入

    下面,1字段是user(),还有2,3,4,5,一共可以构建2^4种情况,下面来构建:

     

       5.路径是找到了,但是,我们要怎样读取呢??

    https://www.cnblogs.com/c1e4r/articles/8618692.html #MySQL读取文件的方法

     

    注意,这里的路径,有问题

    任务三 上传webshell

    1. 先试着将一句话木马写入文件

    Union select 一句话木马,2,3,4,5 into file ‘路径:zwj.php’

    注意:这个路径有://  \    /   

      2.被过滤掉的

     

      3.为了连接,就要转码,hex,并且要在前面加上0x表示这是16进制,到时候写入文件时才能读取;路径的话,加单引号就行了;

     

    *问题:

    1. 路径,为啥子最后省略来就只是:http://******.net/jjj.php,,反正最后,以后,我就这样写。网站(包含了某某页面)

    2.关于一句话木马,最好不要分段写,因为分段的额话,后面转换成16进制就会多出转换的内容“/”,还有就是上传可能没有成功,其实已经成功了,这个时候就只要连接一句话木马了;

    3.我学到了:test是一个测试表,user()函数查看当前用户,@@datadir @@basedir读取文件,into outfile写入文件

    2019-05-26

  • 相关阅读:
    客商支付明细SQL_billdate
    两张表判断赋值,都是NULL惹的祸…
    DataGridView使用初步
    在SQL Server 2005中启用“SQL Server”身份验证
    .Net学习笔记——细节问题
    C#调用带返回值的存储过程
    利用ASP.NET一般处理程序动态生成Web图像
    Windows Forms数据绑定技术
    C#中产生SQL语句的几种方式
    风讯dotNETCMS源码分析—数据存取篇
  • 原文地址:https://www.cnblogs.com/TEAM0N/p/10927836.html
Copyright © 2011-2022 走看看