目录
一、使用到的环境:
phpStudy、Pikachu(安装见之前的文章)
二、SQL注入的认识:
注入(SQLi)是一种注入攻击,可以执行恶意SQL语句。它通过将任意SQL代码插入数据库查询,使攻击者能够完全控制Web应用程序后面的数据库服务器。攻击者可以使用SQL注入漏洞绕过应用程序安全措施;可以绕过网页或Web应用程序的身份验证和授权,并检索整个SQL数据库的内容;还可以使用SQL注入来添加,修改和删除数据库中的记录。
SQL注入漏洞可能会影响使用SQL数据库(如MySQL,Oracle,SQL Server或其他)的任何网站或Web应用程序。犯罪分子可能会利用它来未经授权访问用户的敏感数据:客户信息,个人数据,商业机密,知识产权等。SQL注入攻击是最古老,最流行,最危险的Web应用程序漏洞之一。
1、打开phpstudy的MySQL图形化管理工具,点击MySQL管理器——MySQL-Fron

2、打开pikachu中的usrw表,进入编辑器


3、在编辑器中查询users表中的所有信息

4、如果我们正常在网页登录时,输入的账户、密码会与数据库中对应的账户、密码进行对比。例如图下

在这里发现没有查询到任何信息,是由于这里的密码采用了MD5加密,需要进行转化,转化后便可以查询到了登录信息。

5、打开pikachu,随意打开一个页面查看对应的数据库文件



通过上面数据库文件的代码发现实际等的登录过程与我们刚开始查询admin数据的过程是一致的。
select * from pikachu.users where username = "admin" and password = md5("123456")
select * from users where username=? and password=md5(?)
注:” ? “代表手动输入的内容
6、再次回到编辑器中尝试输入” select * from pikachu.users where username = "admin" #" and password = md5("123456") “指令,发现也能查询到内容。

这里是一个漏洞,#把后面密码的验证自动注释了,这就产生了一种只需要需要用户名不需要密码的万能登录的情况。这是最简单的一种SQL注入。
7、由于数据库是之间、数据库表与表之间都是相互联系,所以可以通过” union “来实现从一个数据库表的内容查询到另一个数据库表的内容,例如” selec

本文介绍了SQL注入的概念,展示了如何通过SQL注入攻破靶场,包括字符型和数字型注入。通过实例演示了如何探测漏洞、利用`order by`确定列数、使用`union`查询不同表的数据,并提供了获取数据库信息、表信息和列信息的方法。
最低0.47元/天 解锁文章
5821

被折叠的 条评论
为什么被折叠?



