[雪峰磁针石博客]渗透测试工具简介11 SQL 注入

简介:
+关注继续查看

渗透测试工具简介11 SQL注入

SQL是结构化查询语言的首字母缩写。它用于检索和操作数据库中的数据。

什么是SQL注入?

SQL注入使动态SQL语句注释掉语句的某些部分或附加始终为真的条件来执行恶意SQL代码。

可以使用SQL注入执行的攻击类型和数据库引擎相关。攻击适用于动态SQL语句。动态语句是在运行时使用来自Web表单或URI查询字符串的参数password生成的语句。

某HTML表单的代码如下。

<form action=‘index.php’ method="post">

<input type="email" name="email" required="required"/>

<input type="password" name="password"/>

<input type="checkbox" name="remember_me" value="Remember me"/>

<input type="submit" value="Submit"/>

</form>

上面的表单接受电子邮件地址和密码,将它们提交给名为index.php的PHP文件。
它可以选择将登录会话存储在cookie中。 我们从remember_me复选框中推断出这一点。 它使用post方法提交数据。 这意味着值不会显示在URL中。

后台用于检查用户ID的语句如下所示

SELECT * FROM users WHERE email = $_POST['email'] AND password = md5($_POST['password']);
# SELECT * FROM users WHERE email = '[xxx@xxx.xxx](mailto:xxx@xxx.xxx)' OR 1 = 1 LIMIT 1 -- ' ] AND password = md5('1234'); # SQL注入

上面的语句直接使用$_POST[] 数组的值而不检验。密码使用MD5算法加密。为此用第2句可以直接进行SQL注入。

SQL登陆注入实战

演示网址不能承受太大压力,需要的请加钉钉pytesting索取。

图片.png

图片.png

步骤:

  • email: 输入 xxx@xxx.xxx
  • 密码输入: Enter xxx') OR 1 = 1 -- ]
  • 提交

图片.png

其他SQL注入

  • 删除数据
  • 更新数据
  • 插入数据
  • 在服务器上执行可以下载和安装特洛伊木马等恶意程序的命令
  • 将有价值的数据(如信用卡详细信息,电子邮件和密码)导出到攻击者的远程服务器
  • 获取用户登录详细信息等

参考资料

SQL注入的自动化工具

如何防止SQL注入攻击

组织可以采用以下策略来保护自己免受SQL注入攻击。

  • 在动态SQL语句中使用之前必须始终对其进行清理。
  • 存储过程 - 这些可以封装SQL语句并将所有输入视为参数。
  • 参数化
  • 正则表达式 - 检测潜在的有害代码并在执行SQL语句之前将其删除。
  • 数据库连接用户访问权限
  • 错误消息不要显示SQL。
相关文章
|
2天前
|
SQL Web App开发 XML
广联达OA漏洞合集(信息泄露+SQL注入+文件上传)
广联达Linkworks办公OA存在信息泄露,攻击者可通过此漏洞获取账号密码登录后台,造成其他影响。
48 1
|
3天前
|
SQL 应用服务中间件 nginx
python技术面试题(十二)--SQL注入、项目部署
python技术面试题(十二)--SQL注入、项目部署
|
4天前
|
SQL 安全 Linux
Kali Linux中的SQL注入攻击如何进行
Kali Linux中的SQL注入攻击如何进行
19 0
|
8天前
|
SQL 安全 PHP
什么是 SQL 注入攻击,SQL 注入攻击的原理是什么
什么是 SQL 注入攻击,SQL 注入攻击的原理是什么
|
8天前
|
SQL XML Java
MyBatis进阶:告别SQL注入!MyBatis分页与特殊字符的正确使用方式
MyBatis进阶:告别SQL注入!MyBatis分页与特殊字符的正确使用方式
17 0
|
11天前
|
SQL 安全 关系型数据库
SQL注入漏洞实战演习
SQL注入漏洞实战演习
37 0
|
18天前
|
SQL Linux 数据库
如何保护 Linux 数据库免受 SQL 注入攻击?
如何保护 Linux 数据库免受 SQL 注入攻击?
73 4
如何保护 Linux 数据库免受 SQL 注入攻击?
|
19天前
|
SQL 安全 网络安全
sql注入相关问题及解决方式?
sql注入相关问题及解决方式?
|
23天前
|
SQL 编解码 网络安全
网络安全CTF流量分析-入门1-流量分析中的Sql注入
从分析Sql流量入门CTF流量分析
45 0
|
23天前
|
SQL 设计模式 Java
用建造者模式实现一个防SQL注入的ORM框架
以构建一门课程为例,一个完整的课程由PPT课件、回放视频、课堂笔记、课后作业组成,但是这些内容的设置顺序可以随意调整,我们用建造者模式来代入理解一下。首先创建一个产品类Course。
24 0
推荐文章
更多