一、题目
比较经典的黑客造型
sql注入题一般都是这种登录界面,开始操作
二、解题
1. 用户名输入 1' (1之后加个单引号是为了闭合数据库后台语句里面的引号,所以在这之后写sql命令可以实现恶意操作如查表、查列),这是最常用的判断手段
密码随便输
发现报错了,那么这里是存在注入的
2. 先试试万能密码:
1' or 1=1#
这里说一下mysql中的各种注释符
# : 单行注释,直接注释#之后的内容
-- : 单行注释,区别是--后要加一个空格符才能实现注释作用
/**/ : 多行注释,如
/*
第一行
第二行
第三行
*/
三个符号都有可能出现在sql注入题型中,且皆有可能被过滤
我们看到在输入万能密码之后直接爆了flag,后台应该是一点过滤操作都没有
那么万能密码的原理在于:
像 1' or 1=1# 这样的语句,在输入表单并传入之后因为单引号作用变成了
admin='1' or 1=1#'
即进行admin='1'和1=1的or运算,而1=1恒成立,那么这个运算就肯定为true,显示登录成功
三、总结
这题没有用到联合查询还有关键字过滤判断等等,属于是非常基础