常规漏洞之一SQL注入漏洞(2)—Hack之路

SQL注入漏洞
什么是SQL注入漏洞
     SQL注入漏洞未PHP研发人员所熟知。它是所有漏洞类型中危害最严重的漏洞之一,SQL注入漏洞,主要是通过伪造客户端请求,把SQL命令提交到服务端进行非法请求的操作,最终达到欺骗服务器从而执行恶意的SQL命令,研发人员在处理应用程序和数据库交互时,未对用户可控参数进行严格的校验防范,例如使用字符串拼接的方式构造SQL语句在数据库中执行,很容易埋下安全隐患
SQL注入可以造成数据库信息泄露,特别是数据库中存放的用户隐私信息的泄露。通过操作数据库对特定网页进行篡改,修改数据库一些字段的值,嵌入恶意链接,进行挂马攻击,传播恶意软件。服务器还容易被远程控制被安装后门,经由数据库服务器提供的操作系统支持,让攻击者得以修改或控制操作系统以及破坏硬盘数据,瘫痪全系统
目前常见的SQL注入的攻击方式有报错注入,普通注入,隐式注入,盲注,宽字节注入,二次解码注入。下面对每一种注入威胁举例说明,以帮助读者在编码过程中有效避免漏洞的产生。
Union注入攻击
Union注入攻击,我们用练习平台,我们先将难度调成low,我们输入id等于1,页面是不会出错的,当我们访问 id=1’时候页面会报错,可以得出网站存在SQL注入漏洞的存在,首先用order by语句来查询字段,order by 1- 100,如’ order by 2正常显示,’ order by 3出现报错,说明只有两个自字段,随后便可以使用Union注入,在Union语法’ union select 1,2 #等于select * from database where id = 1′ union select 1,2数据库便执行了这个语句且不会报错,并会查询出来1,和2,这样我们就可以利用到上篇文章的参数来进行获取数据了database()当前网站使用的数据库,version()当前网站用的数据库的版本,user()当前Mysql的用户,我们可以输入’ union select database(),database()
常规漏洞之一SQL注入漏洞(2)—Hack之路

有木有感觉SO,EASY,关于后续查数据库到查表到查字段就不演示了,各大站点都有普遍教程,我们也会后续更新
Boolean注入攻击先Pass目前没有搭建相关靶场
updatexml注入攻击
我们用练习平台,我们先将难度调成low,我们输入id等于1,页面是不会出错的,当我们访问 id=1’时候页面会报错,可以得出网站存在SQL注入漏洞的存在,首先用order by语句来查询字段,order by 1- 100,如’ order by 2正常显示,’ order by 3出现报错,说明只有两个自字段,随后便可以使用Union注入,在Union语法’ union select 1,2 #等于select * from database where id = 1′ union select 1,2数据库便执行了这个语句且不会报错,并会查询出来1,和2,这样我们就可以利用到上篇文章的参数来进行获取数据了database()当前网站使用的数据库,version()当前网站用的数据库的版本,user()当前Mysql的用户,我们可以输入’ union select database(),database()
Payload:’ and updatexml(1,concat(0x7e,(SELECT @@version),0x7e),1) # 查询数据库的版本,如可以查询SQL注入漏洞便存在
常规漏洞之一SQL注入漏洞(2)—Hack之路 常规漏洞之一SQL注入漏洞(2)—Hack之路

时间注入攻击
关于时间注入和boolean可以注入的页面非常相似,我们这里没有关于此类的漏洞测试,一样拿DVWA一样可以注入,和boolean不同的是时间注入是可以盲注的,判断是否有SQL注入漏洞
payload:1′ and if(length(database())>1,sleep(5),1) #
上面这行语句的意思是,如果数据库名的长度大于1则MySQL休眠5秒,以此来判断结果是否正确!

 

网站地址:https://www.hackzl.cn;发布者:hack之路,转转请注明出处:https://www.hackzl.cn/index.php/2020/09/20/%e5%b8%b8%e8%a7%84%e6%bc%8f%e6%b4%9e%e4%b9%8b%e4%b8%80sql%e6%b3%a8%e5%85%a5%e6%bc%8f%e6%b4%9e2-hack%e4%b9%8b%e8%b7%af/

发表评论

邮箱地址不会被公开。 必填项已用*标注