关于sql注入的理解


mysql> show tables;
+----------------------+
| Tables_in_openlab |
+----------------------+
| MatchedLogRecDetails |
| emp_14 |
| logs |
| logs_day_report |
| logs_month_report |
| logs_year_report |
| s_emp |
| s_emp13 |
| s_emp_14 |
| s_emp_39 |
| s_emp_hz100521 |
| s_emp_jlh |
| s_user |
| s_user_39 |
| s_user_hz100521 |
| s_user_jlh |
| student |
| student_jlh |
| user_14 |
| xu_users |
+----------------------+
20 rows in set (0.01 sec)

mysql> select * from s_user;
+----+----------+----------+
| id | username | password |
+----+----------+----------+
| 0 | jack | 123456 |
| 1 | shery | 123456 |
| 2 | lianghao | lianghao |
| 5 | dengtao | 123456 |
| 6 | chunzi | 123456 |
+----+----------+----------+
5 rows in set (0.01 sec)

mysql> select * from s_user where username='jack' and password='dfsf'or'1'='1';
+----+----------+----------+
| id | username | password |
+----+----------+----------+
| 0 | jack | 123456 |
| 1 | shery | 123456 |
| 2 | lianghao | lianghao |
| 5 | dengtao | 123456 |
| 6 | chunzi | 123456 |
+----+----------+----------+
5 rows in set (0.00 sec)

mysql> select * from s_user where username='jack';
+----+----------+----------+
| id | username | password |
+----+----------+----------+
| 0 | jack | 123456 |
+----+----------+----------+
1 row in set (0.00 sec)

mysql> select * from s_user where username='jack' and password='dfsf';
Empty set (0.00 sec)

mysql> edit
-> ;
//select * from s_user where username='jack' and password='dfs'or'1'='1';
+----+----------+----------+
| id | username | password |
+----+----------+----------+
| 0 | jack | 123456 |
| 1 | shery | 123456 |
| 2 | lianghao | lianghao |
| 5 | dengtao | 123456 |
| 6 | chunzi | 123456 |
+----+----------+----------+
5 rows in set (0.00 sec)

mysql> edit
-> ;//select * from s_user where username='jack' and password='dfs'and'1'='1';
Empty set (0.00 sec)

[quote]
[b]总结:jljl'or'1'='1 为固定格式:若关键字为and 那么条件所引用的列为一个值显然不符合
数据库一范式。or在这里表示为或者,同时1=1条件恒为true,但是查询的结果会忽视前面的条件,而返回显示所有记录。说白了sql注入就是用单引号来使sql关键字生效,使用表达式
返回一个true,然而数据库就默认为这个查询的条件为正常且合法的。哎,理解的不是很透彻,以后学的深了在改改。[/b]
[/quote]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值