`

关于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)

引用

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

分享到:
评论

相关推荐

    sql注入讲解ppt.pptx

    SQL 注入基础知识点总结 SQL 注入是指 web 应用程序对用户...通过学习 SQL 注入基础知识、工具和环境搭建、MySQL 数据库基础知识、SQL 注入防御、SQL 注入类型和基本步骤,我们可以更好地理解和防御 SQL 注入攻击。

    SQL 注入天书.pdf

    《SQL注入天书》是针对这个主题的深度学习资源,旨在帮助读者理解SQL注入的工作原理,并提供实践平台sqli-labs进行技能提升。 **SQLI和sqli-labs介绍** SQL注入(SQL Injection)是网络渗透测试中的关键一环,涉及...

    sql注入网站源码

    SQL注入是一种常见的网络...通过分析和实践这个"sql注入asp网站"源码,你可以深入理解SQL注入的工作机制,学习如何修复这些漏洞,从而提升你的Web应用程序的安全性。记住,安全是持续的过程,需要不断学习和更新知识。

    SQL注入攻击实验报告

    - **实验目的**:本实验旨在通过搭建一个简单的Web应用程序,模拟SQL注入攻击的过程,并探讨相应的防御措施,帮助理解SQL注入攻击的基本原理及其防范策略。 #### 二、实验原理 - **SQL注入的概念**:SQL注入是一种...

    SQL注入工具-御剑

    【标题】:“SQL注入工具-御剑” 在网络安全领域,SQL注入是一种常见的攻击手段,而“御剑...通过以上知识点的学习和实践,无论是安全专业人员还是开发人员,都能更好地理解和应对SQL注入威胁,提升网络系统的安全性。

    SQL注入全面讲解技术文档

    通过理解其原理,采取有效的预防措施,以及定期评估和更新防护策略,可以大大降低SQL注入攻击的风险。对于初学者和专业开发者来说,深入研究SQL注入的各个方面,包括入门、进阶和高级技巧,是提升系统安全性的关键...

    SQL注入原理以及Spring Boot如何防止SQL注入(含详细示例代码)

    SQL注入是一种严重的安全威胁,它...综上所述,理解SQL注入的原理并采取相应的防护措施是确保应用程序安全的关键。Spring Boot通过提供JdbcTemplate和Spring Data JPA等工具,为开发者提供了防止SQL注入的有效手段。

    最新ASP通用防SQL注入代码

    从标签"防注入"、"最新ASP SQL注入代码"、"最新ASP通用防SQL注入代码"我们可以看出,这个压缩包文件的核心内容是关于防止ASP应用程序遭受SQL注入攻击的代码示例,它适用于各种ASP应用场景。 在压缩包内的文件"通用...

    SQL注入攻击与防御技术白皮书.pdf

    本文档主要介绍了SQL注入攻击的原理、方式、危害及防御措施,旨在帮助读者更好地理解和防御这种常见的数据库漏洞攻击方式。 1.SQL注入攻击简介 SQL注入攻击是一种针对数据库的漏洞攻击方式,它是通过构造巧妙的SQL...

    自己动手编写SQL注入漏洞扫描工具

    关于SQL注入漏洞扫描工具的知识点包括: 1. **SQL注入原理**:理解注入的基本机制,如通过拼接SQL语句、利用未验证的用户输入、执行特权命令等。 2. **SQL语法知识**:了解目标数据库系统(如MySQL、Oracle或SQL ...

    SQL注入漏洞演示源代码

    在这个"SQL注入漏洞演示源代码"中,我们可以深入理解这种攻击方式的工作原理,并学习如何防止它。 SQL注入是通过输入恶意的SQL语句来操纵或破坏数据库的一种手段。攻击者通常在Web表单中输入特殊字符序列,使得应用...

    SQL注入攻击与防御

    SQL注入是Internet上最危险、最有名的安全漏洞之一,《SQL注入攻击与防御》是目前唯一一本专门致力于讲解SQL威胁的图书。《SQL注入攻击与防御》作者均是专门研究SQL注入的安全专家,他们集众家之长,对应用程序的...

    JavaScript过滤SQL注入字符

    一、理解SQL注入 SQL注入是指攻击者在用户输入的数据中插入SQL命令,以欺骗服务器执行非授权的操作,如获取敏感数据、修改或删除记录等。例如,一个简单的登录表单如果没有进行适当的验证,攻击者可以输入"username...

    sql 注入 sql injection

    在2009年,SQL注入仍然是一个严重的问题,因此出现了关于这个主题的新书,提供了对这一技术的深入理解和防御策略。 1. SQL注入的基本原理:攻击者通过在Web表单、URL参数或其他用户输入点输入精心构造的SQL语句,...

    SQL注入源码+SQL注入命令

    通过这个实验,我们可以深入理解SQL注入的工作原理,学习如何在Java应用中编写安全的SQL查询,以避免潜在的安全风险。同时,对于开发人员来说,了解如何测试和修复SQL注入漏洞也至关重要,以确保用户的隐私和数据...

    pangolinsdl—sql注入工具

    通过理解PangolinsDL的原理和使用方法,安全专业人员能够更有效地评估和防护SQL注入风险,提升系统的安全性。同时,对于开发人员来说,使用这样的工具也是提高代码质量、避免常见安全漏洞的重要途径。

    防止sql注入工具类l

    首先,我们需要理解SQL注入的基本原理。当应用程序直接将用户输入的数据拼接到SQL查询语句中时,如果未进行适当的验证和转义,攻击者就能通过输入特殊字符或者构造恶意的SQL语句来绕过安全控制。例如,一个简单的...

    SQL注入文献.zip

    5. **2007-测试和比较Web漏洞扫描工具对SQL注入的抵抗力**(2007-Testing and comparing web vulnerability scanning tools for SQL injection.pdf):这是一篇关于评估不同Web漏洞扫描工具在检测SQL注入方面的性能...

    使用Python防止SQL注入攻击的实现示例

    开放式Web应用程序安全项目(OWASP)每几年都会发布一次关于Web应用程序最常见安全风险的报告,其中SQL注入攻击一直位居前列。SQL注入不仅常见,而且危害巨大,能够导致数据泄露、破坏或被篡改等严重后果。鉴于...

Global site tag (gtag.js) - Google Analytics