WEB渗透之SQL盲注

漏洞等级:高
漏洞风险:会使攻击者远程查看、修改或删除数据库内条目和表单
N-Base分类:远程命令执行----SQL注入
漏洞描述
SQL注入是一种WEB程序的漏洞,通过注射,攻击者可以获得数据库中存储的数据,造成机密数据的外泄。SQL注入攻击(SQL injection),是发生于应用程序至数据库层的安全漏洞。简而言之,是在输入的数据字符串之中夹带SQL指令,在安全不达标的程序中,开发者忽略了检查,那么这些夹带进去的指令就会被数据库服务器误认为是正常的SQL指令而运行,导致灾难性后果发生。
测试工具:APPSCAN、AWVS、BURP、SQLMAP、PYTHON脚本
实战案例
SQL注入的威力就不用多说了,实际环境中的SQL注入基本都是盲注,很难找到直接返回查询结果的傻应用了。
本次提供的一个案例相对来说比较有趣,因为它存在在登录页面。
在这里插入图片描述
这个案例的前提是需要一个能正常登录的测试账号,任何权限的都可以,注入点就在username参数上,当把test改为test and 1=1,密码保持不变时,能够正常登录,当把test改为test and 1=2时,登录失败。很明显这是一个SQL盲注漏洞。当然实际的测试注入的payload的没有这么简单,会有一些特殊符号,这里为了方便演示。当把test改为a or 1=1时,有趣的事情发生了,还是依然可以登录。
在这里插入图片描述
我们可以做什么?我们可以不用知道任何一个用户名,用a or 1=1去爆破所有用户的密码了。假如这个注入点在password上,那就是另外一个故事了—认证绕过漏洞。可以使用任何用户名去配a or 1=1的密码去登录了。
当然,有人会说,都可以SQL注入了,何不直接提取用户名密码,还爆破和什么劲。哈哈,言之有理,我竟无言以对。
在这里插入图片描述
然而,数据库中的用户名密码加密了怎么办?????
解决建议
1.过滤特殊字符:| " ’ % ; () & + 等特殊字符;
2.过滤关键字:select delete insert and or 等SQL关键字;
3.屏蔽服务器返回的错误信息。
4.建议编写统一过滤系统进行过滤。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值