手记

渗透测试工具简介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



作者:python作业AI毕业设计
链接:https://www.jianshu.com/p/fd688fd68269


0人推荐
随时随地看视频
慕课网APP