SQL注入——渗透day06

本文介绍了SQL注入的概念,展示了如何通过SQL注入攻破靶场,包括字符型和数字型注入。通过实例演示了如何探测漏洞、利用`order by`确定列数、使用`union`查询不同表的数据,并提供了获取数据库信息、表信息和列信息的方法。
摘要由CSDN通过智能技术生成

目录

一、使用到的环境:

二、SQL注入的认识:

 靶场实践,见下篇文章!


一、使用到的环境:

        phpStudy、Pikachu(安装见之前的文章)

二、SQL注入的认识:

        注入(SQLi)是一种注入攻击,可以执行恶意SQL语句。它通过将任意SQL代码插入数据库查询,使攻击者能够完全控制Web应用程序后面的数据库服务器。攻击者可以使用SQL注入漏洞绕过应用程序安全措施;可以绕过网页或Web应用程序的身份验证和授权,并检索整个SQL数据库的内容;还可以使用SQL注入来添加,修改和删除数据库中的记录。

        SQL注入漏洞可能会影响使用SQL数据库(如MySQLOracleSQL 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值