PHP实训笔记,【学习笔记19】实验吧 让我进去

知识点

MD5拓展攻击

解题思路

打开网站后看到,什么都没有,尝试抓包分析

71610d32b2a1

360截图17860604827894.PNG

Burp 抓包发现,Cookie有东西。先是把source=0改成source=1,得到源码。

、、、

$flag = "XXXXXXXXXXXXXXXXXXXXXXX";

$secret = "XXXXXXXXXXXXXXX"; // 密码未知,但是长度 已知15位

$username = $_POST["username"];

$password = $_POST["password"];

//想获取flag:

//1.需要知道usename === "admin"

//2.需要知道password != "admin"

//3.并且cookie的参数getmein=== md5(15位未知密 码.admin.$password)

if (!empty($_COOKIE["getmein"])) {

if (urldecode($username) === "admin" && urldecode($password) != "admin") {

if ($COOKIE["getmein"] === md5($secret . urldecode($username . $password))) {

echo "Congratulations! You are a registered user.\n";

die ("The flag is ". $flag);

}

else {

die ("Your cookies don't match up! STOP HACKING THIS SITE.");

}

}

else {

die ("You are not an admin! LEAVE.");

}

}

//这里给出了sample-hash = md5(15位未知密码."adminadmin") = 571580b26c65f306376d4f64e53cb5c7

setcookie("sample-hash", md5($secret . urldecode("admin" . "admin")), time() + (60 * 60 * 24 * 7));

if (empty($_COOKIE["source"])) {

setcookie("source", 0, time() + (60 * 60 * 24 * 7));

}

else {

if ($_COOKIE["source"] != 0) {

echo ""; // This source code is outputted here

}

}

所以我们这里就可以利用kali下的工具HashPump来直接构造MD5长度的拓展。

71610d32b2a1

360截图17290429100125124.PNG

这里就以利用burp进行修改数据包,从而得到想要的数据包

添加getmein参数等于870cb8de7a5d442220d00ef95d71590d

post传参的值改为username=admin&password=admin%80%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%c8%00%00%00%00%00%00%00lll

放包后得到flag

CTF{cOOkieS_4nd_hAshIng_G0_w3LL_t0g3ther}

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

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

相关文章

CMake PROJECT_BINARY_DIR和PROJECT_SOURCE_DIR区别

看了好多网上的文章,都说PROJECT_BINARY_DIR和PROJECT_SOURCE_DIR是等价的。 实际不然。 一般来说,都是这样用 cmake ./ 这样PROJECT_BINARY_DIR和PROJECT_SOURCE_DIR是等价的。也就是当前源码的目录。 如果执行cmake的时候,并不在源码…

toolStrip 按钮图片大小的修改

http://www.cnblogs.com/smallsoftfox/archive/2012/06/21/2558323.html转载于:https://www.cnblogs.com/PatrickLee/p/3526708.html

oracle11g数据文件路径,oracle11g trace路径和diagnostics路径的变化

Oracle11g中trace文件和日志文件的路径发生了变化在$ORACLE_BASE/diag建立了一些分类目录,用来保存各种日志:[oraclerac1 trace]$ cd $ORACLE_BASE[oraclerac1 oracle]$ cd diag[oraclerac1 diag]$ pwd/u01/app/oracle/diag[oraclerac1 diag]$ lsasm cli…

qt for v210

1. v210本身自带了qt4.8.4的qt库,路径在/usr/lib下面。但是我们需要对屏幕进行90度旋转。因此需要重新编译qt库。 我们编译了qt4.8.5的qt库,把/usr/lib下面libQt*删除,将编译好的libQt*拷贝过来即可。 2. 因为我们只用自己增加的文泉驿字体&…

DataGridView数据导入到Excel 中

#region DataGridView数据显示到Excel /// <summary> /// 打开Excel并将DataGridView控件中数据导出到Excel /// </summary> /// <param name"dgv">DataGridView对象 </param> /// <param name"isShowExcle">是…

cmake学习(一)静态库与动态库构建

(.so)共享库&#xff0c;shared object&#xff1a;节省空间&#xff0c;在运行时去连接&#xff0c;如果执行机器上没有这些库文件就不能执行。(.a)静态库,archive&#xff1a;静态库和程序化为一体&#xff0c;不会分开。通过 ldd命令可以查看一个可执行程序所依赖的的共享库…

oracle查表占的物理空间,查询Oracle表实际物理使用大小

Oracle中有两种含义的表大小一种是分配给一个表的物理空间数量&#xff0c;而不管空间是否被使用。可以这样查询获得字节数&#xff1a;select segment_name, bytesfrom user_segmentswhere segment_type TABLE;效果如下&#xff1a;或者Select Segment_Name,Sum(bytes)/1024/…

分布模式

Remote Facade远程外观 在OO模型中,存在很多规模小,且有小方法的对象.这些小对象会导致很多的对象间交互.在单一地址空间里,小对象没问题.但是,当在两个进程间做调用时,频繁的跨进程交互会造成性能开销.远程外观,减少远程调用的次数. 建立在大量的细粒度对象之上,提供一个粗粒度…

oracle分区表带入SQL语句,Oracle 分区表常用SQL语句 (转载)

*********为分区表建立一个单独的表空间*********/create tablespace ts_partition datafile /home/oracle/oradata/esales/partition.dbf size 10Mextent management local uniform size 2M;/*********建立分区表*********/create table bigtable(sale_date date,product_id n…

QT中PRO文件写法的详细介绍

在QT中&#xff0c;有一个工具qmake可以生成一个makefile文件&#xff0c;它是由.pro文件生成而来的&#xff0c;.pro文件的写法如下&#xff1a; 1. 注释 从“#”开始&#xff0c;到这一行结束。 2.模板变量告诉qmake为这个应用程序生成哪种makefile。下面是可供使用的选择&am…

POJ 2485 Highways(最小生成树 Prim)

Highways大意&#xff1a;给你一个用邻接矩阵形式存储的有n个顶点的无向图&#xff0c;让你求它的最小生成树并求出在这个生成树里面最大的边的权值。 思路&#xff1a;用Prim求&#xff0c;判断条件改一下就行。 PS&#xff1a;dis数组初始化的时候用memset一直RE&#xff0c;…

oracle10g rac启动,ORACLE 10G RAC启动与关闭

rootnode-rac1 ~]# su - oracle关闭node-rac1[oraclenode-rac1 ~]$ cd /app/crs/product/10201/crs/bin/[oraclenode-rac1 bin]$ ./srvctl stop instance -d racdb -i racdb1[oraclenode-rac1 bin]$ ./srvctl stop asm -n node-rac1[oraclenode-rac1 bin]$ ./srvctl stop nodea…

iwconfig的用法(转)

1. 打开无线网卡电源iwconfig wlan0 txpower on2. 列出区域内的无线网络iwlist wlan0 scan3. 假设要连接到网络MyHome&#xff08;即essid为MyHome的网络&#xff09;&#xff0c;那么输入命令iwconfig wlan0 essid “MyHome” 如果网络是加密的&#xff0c;密码是0123456789&a…

oracle用户获取datameta权限,Oracle数据库提权(低权限提升至dba)

0x01 Oracle存储过程”缺陷”在 Oracle 的存储过程中&#xff0c;有一个有趣的特点&#xff1a;运行权限。运行权限分为两种&#xff0c;definer 和 invoker。definer 为函数创建者的权限&#xff0c;而 invoker 则是当前调用函数的用户。运行权限在函数创建时就已经被钦定了&a…

__thread 和 __typeof__关键字

__thread:在多线程变成中&#xff0c;使用于global变量&#xff0c;使每个线程都私有一份。static __thread int count;void *function1(void *argc){printf("porgran pid:%u, the function1 pthread id is %lu, count:%d\n",getpid(), pthread_self(), count);count…

RSA openssl_public_encrypt false

这个问题困扰了我好久&#xff0c;最后发现&#xff0c;原来这个函数只能最大长度为117个字节。如果加密的串超过这个长度&#xff0c;就会返回false。转载于:https://www.cnblogs.com/gpfeisoft/p/3533479.html

linux将文件下载到本地windows,XSHELL下直接下载文件到本地(Windows)

xshell很好用,然后有时候想在windows和linux上传或下载某个文件,其实有个很简单的方法就是rz,sz首先你的Ubuntu需要安装rz.sz(如果没有安装请执行以下命令,安装完的请跳过.其它版本linux请自行安装相应软件)yum install lrzsz安装完毕即可使用rz&#xff0c;sz是便是Linux/Uni…

C++11 标准新特性: 右值引用与转移语义

原文地址 http://www.ibm.com/developerworks/cn/aix/library/1307_lisl_c11/ C 的新标准 C11 已经发布一段时间了。本文介绍了新标准中的一个特性&#xff0c;右值引用和转移语义。这个特性能够使代码更加简洁高效。 新特性的目的 右值引用 (Rvalue Referene) 是 C 新标准 (…

android远程linux命令,测试可用的Android远程语音识别实例

测试可用的Android远程语音识别实例:代码下载在&#xff1a;相关文件下载在Linux公社的1号FTP服务器里&#xff0c;下载地址&#xff1a;用户名&#xff1a;www.linuxidc.com密码&#xff1a;www.muu.cc在 2011年LinuxIDC.com\10月\10月\测试可用的Android远程语音识别实例pack…

C++11 标准新特性: 右值引用与转移语义(点评)

<<C11 标准新特性: 右值引用与转移语义>> 原文地址如下 http://www.ibm.com/developerworks/cn/aix/library/1307_lisl_c11/ 对MyString那个例子来说。 我写了三个测试用例。 1. MyString a; a MyString("Hello"); …