CTF实验吧-WEB专题-2

1.简单的sql注入之2

这里写图片描述

题解

我们先单引号试一下发现报错,所以基本存在注入,然后我们用空格会爆SQLi detected!因此被过滤了,发现+还是%a0这些编码都会报错,所以只能用万能空格替代/**/,然后测试是否含有flag表,接着测试是否含有flag列,然而并没有什么卵用,因为这货竟然过滤了左右括号,无法用exists判断flag表是否存在,同时由于左右括号不能用,为了让判断flag表存在的语句先运行变成了不可能,所以只能猜测存在flag表和flag列然后写下命令
1'/**/union/**/select/**/flag/**/from/**/flag#
即可获得flag
坑啊


2.简单的sql注入

这里写图片描述

题解

通过直接写select flag from flag发现报错信息中少了select from估计是被过滤掉了,空格也被过滤了一些(基本所有可以代替空格的符号都被过滤了一遍),然后连续写两个selectselect会出现一个select,基本可以断定只过滤了一个,然后写下如下命令就可以获得flag了
所以每一个关键字重复一次,然后之间的空格打两个就可以了
1' unionunion selectselect flag fromfrom flag wherewhere '1'='1


3.天下武功唯快不破

这里写图片描述

题解

天下武功唯快不破,就是让你用程序写,在短时间里面提交数据,我们通过抓包发现了FLAG属性,手动交给这个页面好像源代码中会有提示少了key参数,所以我们写python代码得到数据提交上去就可以得到flag了,代码如下

#! /usr/bin/env python
# -*- coding=utf-8 -*-

import requests
import base64

url="http://ctf5.shiyanbar.com/web/10/10.php"
req = requests.get(url)
tflag = base64.b64decode(req.headers['FLAG'])
flag_str = tflag.split(":")[1];
data={
    "key":flag_str
    }
print flag_str
res=requests.post(url,data=data)
print res.text

4.让我进去

这里写图片描述

题解

抓包,发现header中有一个非常可疑的数据source=0,试着改为1,发送,得到页面后台处理源代码,如下图
这里写图片描述
通过源代码我们发现,他会检测cookies中有没有getmein,然后判断与md5加密后的结果是否一样,如果一样则可以得到flag。
这里涉及到了md5解密,我个人会简单的介绍一下其算法加密步骤
MD5加密
MD5,SHA1属于一类加密算法,他们先对给定的数据进行处理,必须满足是512个位的倍数也就是64个字节的倍数,而真实的处理是满足模64个字节为48个字节,剩下的6个字节表示数据的长度,这里是数据位数的长度。然后将这些数据按照64个字节分为若干组。
接下来他们是先以四个默认初始值为基础,对第一组数据进行加密后形成另外四个数据,代替最开始的四个默认初始值,然后对第二组数据以得到的四个数据为基础进行处理,又形成四个数据,然后就是重复,直到处理完所有组。
基本处理如下图:
这里写图片描述

接下来就是伪造数据了,因为需要改变初始值
MD5算法的讲解,在这个地址MD5详解

主要破解方法地址http://www.freebuf.com/articles/web/69264.html

对了构建的时候不能用\x00因为c++中\0表示字符串结尾,所以我们用其他字符代替,啥都可以,只要填满就可以了,因为第一组我们根本不用,但是我们传送数据的时候要用\x00(还要记得用urlencode进行编码一下)
通过这个得到一个md5值就可以过了,如下图:
这里写图片描述

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值