刷题[CISCN2019 华北赛区 Day2 Web1]Hack World
2024-09-06 22:41:26
解题思路
打开发现是很简单的页面,告诉了表名和列名,只需知道字段即可
尝试一下,输入1,2都有内容,后面无内容。输入1'让他报错,发现返回bool(false)
大概思路就是布尔型注入了,通过不断返回正确值,猜测对应字段
fuzz
通过fuzz发现,482长度的被禁了,472长度的可以使用,也就是说禁用了空格,union,or,and等
那就有点难办了,联合注入被禁,报错注入被禁
首先我们先不看过滤,应该选择的sql语句位为
select ascii(substr((select flag from flag),1,1)) ) >1 %23
由于空格被禁,我们使用括号或者tab替换空格
select(ascii(substr((select(flag)from(flag)),1,1)))>1%23
由于or被禁,并且不知道为什么单独使用||可以,但是与sql语句组合就不行了
爆破
这里网上有两种方法,异或和if
1.if
if(ascii(substr((select(flag)from(flag)),1,1))>1,1,2)
如果不会脚本的话,通过bp的intruder模块,同样可以爆破求出flag值,无非就是麻烦一点,ascii码转换成字符的形式,但其实和写脚本应该差不太多,
(平台应该是对访问做了限制,这里线程需要设置的低一些)
2.异或
通过0与任何异或结果就是他本身的思想
0^(ascii(substr((select(flag)from(flag)),1,1))>1)
脚本
网上有很多现成的脚本,这里就不再贴上来了,虽然自己写脚本能力差,但是希望能够学习到其他大佬的脚本,而不是贴到自己这,当一个脚本小子
总结思路
- 常规的布尔盲注,根据回显爆破
- 需要根据一些过滤,进行相应的更改
知识点
- 布尔盲注
最新文章
- Nginx实现多个站点使用一个端口(配置Nginx的虚拟主机)
- Android Studio初步使用教程
- bzoj4009
- 最短路径算法Dijkstra和A*
- JSON对象与JSON数组的长度和遍历方法
- /home 和 /root
- Linux中安装redis
- H5读取本地文件操作
- Akka(39): Http:File streaming-文件交换
- applicaitonContext属性未注入, 请在applicationContext.xml中定义SpringContextHolder.
- CORS跨域 Ajax headers 问题
- 运行python脚本时,报错InsecurePlatformWarning: A true SSLContext object is not available,解决方法
- Java 导出 Excel 列号数字与字母互相转换工具
- 搭建jenkins集群
- python自定义方法处理日志文件
- xStream解析生成xml文件学习资料
- linux下用命令修改文件内容
- 2018.10.19 NOIP模拟 加密(模拟)
- 【译文】MySQL InnoDB 事物模型
- win10浏览器访问vmware中ubuntu开启的某个服务端口出现的问题
热门文章
- vmware 虚拟机共享 windows 目录
- Web自动化必会知识:「Web基础、元素定位、元素操作、Selenium运行原理、项目实战+框架」
- 使用Spring Boot DevTools优化你的开发体验
- 曹工改bug:cpu狂飙,old gc频繁,线程神秘死亡连环案件调查报告
- promise和async await的区别
- Spring boot程序的部署及运行
- 问题定位 | Peronca Xtrabackup 8.0近日踩坑总结 - xtrabackup 2.4和8.0区别
- Java后台服务慢优化杂谈
- 深入了解v-model流程
- istio的安全(概念)