今天数据库又被注入了。。。我%……——#¥%……**)——¥%——*
搞了一上午,终于把数据库还原了过来。。。真不知道对方是怎么注入的,无意中听同事说了一句,以前另一个同事说插入数据也可以用十六进制插入的,加上之前我看过一篇文章也是在构造SQL注入语句的时候有一大堆乱78糟的字符的。。自己试了一下,果然是可以用十六进制来插入数据。。如下:
这是普通的插入数据的SQL语句:
declare @str varchar(100)
set @str='<script>alert(123)</script>'
update tb_product set proName=proName+@str where proID = 35
这是采用十六进制插入数据的SQL语句:
declare @str varchar(100)
set @str=0x3C7363726970743E616C65727428313233293C2F7363726970743E
update tb_product set proName=proName+@str where proID = 54
以上SQL语句都可以执行,执行过后都是在proname字段的后头加上<script>alert(123)</script>
0x3C7363726970743E616C65727428313233293C2F7363726970743E是怎么来的呢?0x是十六进制的开头前缀,后面一大乱字母才是<script>alert(123)</script>,我们可用些可以查看十六进制的文本编辑器来转换,如UltraEdit等,如图:
把中间的那些字母间的空格去掉就可以了!!!
我在做该项目的时候插入数据时我没把相应的HTML代码去掉,只是在取出的时候把HTML代码去掉了。不过只限于论坛,唉,还得把页面所有的输出全都要把HTML代码去掉才行。
- 大小: 24.8 KB
分享到:
相关推荐
2. **创建备忘录**:用户登录后,可以输入备忘录标题和内容,系统通过AJAX将这些数据发送到服务器,服务器端的ASP脚本将这些信息存储到数据库的备忘录表中。 3. **查看备忘录**:用户可以在页面上看到自己创建的...
SQL注入是Internet上最危险、最有名的安全漏洞之一,本书是目前唯一一本专门致力于讲解SQL威胁的图书。本书作者均是专门研究SQL注入的安全专家,他们集众家之长,对应用程序的基本编码和升级维护进行全面跟踪,详细...
- 可能使用SQLite数据库保存用户的备忘录数据,`SQLiteOpenHelper`类用于数据库的创建和升级,`ContentProvider`可能用于暴露数据以便其他应用访问。 - 或者采用SharedPreferences来存储简单的键值对数据,如用户...
Java备忘录是一款基于Java开发的应用程序,它利用MySQL数据库来存储和管理用户的数据。这个程序的构建展示了Java与数据库集成的基本原理,是学习和理解Java后端开发的一个良好实践案例。 首先,Java作为一门多用途...
备忘录系统可能使用ADO(ActiveX Data Objects)来连接数据库,执行查询、插入、更新和删除操作,管理用户的备忘录。 6. **服务器端控件**:ASP提供了一些服务器端控件,如Label、TextBox、Button等,它们可以生成...
本书作者均是专门研究SQL注入的安全专家,他们集众家之长,对应用程序的基本编码和升级维护进行全面跟踪,详细讲解可能引发SQL注入的行为以及攻击者的利用要素,并结合长期实践经验提出了相应的解决方案。...
- **安全性**:使用预处理语句防止SQL注入攻击,加密敏感数据,限制不合理的访问请求。 - **性能优化**:合理设计数据库索引,避免全表扫描,定期优化数据库结构和查询语句。 - **数据备份与恢复**:定期备份数据库...
4. **数据库设计**:个人备忘录系统可能包含用户表、备忘录表等,设计合理的数据库结构对系统的性能和扩展性至关重要。 5. **JSP/HTML和CSS**:视图层通常由JSP页面组成,它们包含HTML和CSS代码,用于渲染用户界面...
3. **数据库交互**:系统需要存储用户的备忘录,因此会涉及到数据库操作。PHP通常与MySQL配合,使用MySQLi或PDO进行数据存取。数据库设计应包含用户表、备忘录表等,可能还有权限表来管理不同用户的访问权限。 4. *...
3. **数据存储**: 备忘录的数据可能存储在SQLite数据库中,通过ContentProvider进行访问和管理。源码中会有对应的数据库Helper类,用于创建表结构和CRUD(创建、读取、更新、删除)操作。 4. **通知服务**: 如果...
SQL注入是一种常见的网络安全威胁,它利用了不安全的Web应用程序...这个SQL注入备忘单是学习和提升安全意识的重要参考资料,它帮助我们理解如何识别、利用以及防御这种威胁,从而保护我们的Web应用程序和数据免受攻击。
3. **数据存储**:了解本地存储机制,如SQLite数据库、SharedPreferences或iOS的Core Data。 4. **网络通信**:如果应用有云同步功能,会涉及到API调用和JSON解析。 5. **通知与提醒**:学习如何设置本地或远程...
网络备忘录 v1.0,由521YY歪歪开发,是一款基于ASP(Active Server Pages)和Access数据库技术构建的网络备忘录系统。该系统旨在提供一个便捷、安全的在线平台,让用户能够记录、存储和管理日常生活或工作中的重要...
- **Spring框架**:依赖注入、AOP、事务管理等,简化企业级应用开发。 - **JDBC**:Java Database Connectivity,用于连接和操作数据库。 9. **Java SE新特性** - **Lambda表达式**:简化函数式编程,从Java 8...
7. **安全实践**:开发者在实现密码备忘录时,必须遵循严格的安全编码原则,避免常见的安全漏洞,如SQL注入、XSS攻击等。 8. **测试与审计**:代码测试是验证程序正确性的关键步骤,包括单元测试、集成测试和安全...
- **预编译SQL**:`PreparedStatement`提供了预编译SQL语句的功能,这可以提高性能并减少SQL注入的风险。 - **批处理**:介绍如何使用JDBC的批处理功能来提高插入或更新大量记录时的效率。 - **可更新的结果集**:当...
2. 数据结构设计:备忘录数据通常包含标题、内容、创建时间、修改时间等字段,可以使用SQLite数据库进行存储。同时,为提高查询效率,可设立索引,支持关键词搜索。 3. 功能模块设计:包括新建备忘、编辑备忘、删除...
- 在实际应用中,应使用预处理语句或参数化查询防止SQL注入攻击。示例: ```php $stmt = $db->prepare("INSERT INTO tbl_user (username, password) VALUES (?, ?)"); $stmt->bind_param("ss", $username, $...
2. **Spring**:主要用于依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented Programming, AOP),它可以管理对象的生命周期,处理事务,并且可以整合其他框架,如Struts2。 3. **Hibernate**:...