本文仅作为学习参考使用,本文作者对任何使用本文进行渗透攻击破坏不负任何责任。
本文为SQL labs-SQL注入(四)的续作,依据sqllabs靶场,详细讲解手工post注入。
一,观察页面(SQL labs-less11)。
参数是在表单里面。可直接在输入框进行注入,并且参数不在是一个,而是两个。
在username栏中,输入1'之后发现,参数并没有在url栏中显现出来,并且通过回显得知,该sql语句username='参数' and password='参数'的形式。
而且注释掉后续代码不再是“--+”,是“#”。
注释常用符号有 --+, -- ,#这三种;为什么这里不用--+ ,是应为前端代码没经过URL编码,--+是URL栏里面的注释方式。
此处使用#注释了后方代码,所以只填一个框也可以登录。
二,测试注入位置。
1,在username栏中输入“1\”可发现闭合符。
2,在username栏内,输入:admin'#
发现成功执行,漏洞存在,开始注入。
三,sql注入。
1,查看字段数。
admin'order by 1 #
admin'order by 2 #
admin'order by 3 #
.
.
.
admin'order by 100 #
admin'order by 2 # 不报错。
admin'order by 3 # 报错。
得知字段数有两个。
2,找回显点。
admin'union select 1,2 #
不显示因为admin存在,有数据覆盖了1 2。
1'union select 1,2 #
后续步骤与之前所写的get传参方式一致,在此不做赘述。