搜索易存在SQL注入点的页面

在Google.com中输入

site:testfire.net inurl:login

得到后台登陆的url


点击进入,随便输入用户名密码显示错误


 可见网站没有对用户输人进行最基本的过滤处理,而且,根据图所示的出错信息,
已经大概能够猜测出网站进行用户验证时使用的SQL语句应该类似于:
SELECT * FROM [users] WHERE username 一? AND password=?
这种验证语句是极为危险的,因为可以通过构造特殊的变量值使得该查询条件表达式
结果永远为真。回到登录页面,在Username字段中输入“admin'OR'l",在Password字段
中输入“test'OR'1”,再次单击Login按钮,如下图所示。没想到吧,有时候进入网站后
台就这么简单!

能够成功登陆是因为验证SQL语句变成:

SELECT * FROM [users] WHERE username= 'admin' OR '1' AND password='test' OR '1'

根据SQL 中逻辑运算的优先级,OR低于AND,最后的OR'I'永远成立,所以该条件
表 达 式结 果总 是 true,此 SQL 语 句 等 同 于 :
SELECT * FROM [users]
如果你对各种数据库的SQL语法很熟悉,也可以通过构造一些特殊的SQL来绕过验
本例中也可以在Username字段中输入“test'OR 1=1- --",在Password字段中输入任意
值试一下。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值