【实验吧web】FALSE,PHP sha1() md5()函数漏洞

原题目链接:http://www.shiyanbar.com/ctf/1787

参考答案链接:http://blog.csdn.net/zhaohansk/article/details/44153141

题目

PHP代码审计

hint:sha1函数你有认真了解过吗?听说也有人用md5碰撞o(╯□╰)o

格式:CTF{}

解题链接: http://ctf4.shiyanbar.com/web/false.php

解题

打开网址,是酱紫的:

随便输入用户名和密码:

发现是Get请求:

点开view the source code:

有两处if语句值得关注,理解下就是:

$_GET[‘name‘] != $_GET[‘password‘]  &&  sha1($_GET[‘name‘]) === sha1($_GET[‘password‘])

后来查阅资料,说是有sha1()函数漏洞,将两个参数改成数组即可:

成功得到Flag:

时间: 2024-09-30 07:05:35

【实验吧web】FALSE,PHP sha1() md5()函数漏洞的相关文章

mysql的password()函数和md5函数

password用于修改mysql的用户密码,如果是应用与web程序建议使用md5()函数, password函数旧版16位,新版41位,可用select length(password('123456'))察看. password函数加密不可逆,如果和数据库里加密后内容比较时可以采用password(pwd)==字段内容的方式: md5函数加密后32位,此加密算法不可逆,其实md5算法是信息摘要算法,如果拿来做压缩也是有损压缩,理论上即使有反向算法也无法恢复信息原样.他常被用来检验下载数据的完

20155201 网络攻防技术 实验八 Web基础

20155201 网络攻防技术 实验八 Web基础 一.实践内容 Web前端HTML,能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. Web前端javascipt,理解JavaScript的基本功能,理解DOM.编写JavaScript验证用户名.密码的规则. Web后端:MySQL基础:正常安装.启动MySQL,建库.创建用户.修改密码.建表. Web后端:编写PHP网页,连接数据库,进行用户认证. 最简单的SQL注入,XSS攻击测

2017-2018-2 20155225《网络对抗技术》实验九 Web安全基础

2017-2018-2 20155225<网络对抗技术>实验九 Web安全基础 WebGoat 1.String SQL Injection 题目是想办法得到数据库所有人的信用卡号,用Smith登录后,得到Smith的两个信用卡号,如图 但如何才能得到所有人的信用卡号呢? 只需要输入' or 1 = ' 1,这样构造可以将引号闭合,再or上一个永真式,就能屏蔽掉前面的条件. 2.Log Spoofing 在User Name中以这种格式注入:Use CR (%0d) and LF (%0a)

SQL Server 2005 MD5函数

原文:SQL Server 2005 MD5函数 在SQL Server 2005下自带的函数HashBytes() ,此函数是微软在SQL Server 2005中提供的,可以用来计算一个字符串的MD5和SHA1值,使用方法如下: --获取123456的MD5加密串 select hashbytes('MD5', '123456') ; --获取123456的SHA1加密串 select hashbytes('SHA1', '123456') ; 有了这个函数可以在SQL Server中为字符

20155222卢梓杰 实验八 Web基础

实验八 Web基础 1.安装apache sudo apt-get install apache2 2.启动apache service apache2 start 3.使用netstat -tupln |grep 80命令查看80端口是否被占用,如果已被占用,修改配置文件ports.conf中的内容以修改监听端口vim /etc/apache2/ports.conf 4.重启apacheservice apache2 restart 5.测试apache是否正常工作 浏览器打开 127.0.0

PHP md5() 函数

PHP String 函数 实例 计算字符串 "Hello" 的 MD5 散列: <?php $str = "Shanghai"; echo md5($str); ?> 运行实例 定义和用法 md5() 函数计算字符串的 MD5 散列. md5() 函数使用 RSA 数据安全,包括 MD5 报文摘要算法. 来自 RFC 1321 的解释 - MD5 报文摘要算法:MD5 报文摘要算法将任意长度的信息作为输入值,并将其换算成一个 128 位长度的"

好程序员web前端学习路线分享函数基础

好程序员web前端学习路线分享函数基础,在这之前先来讲一下函数是什么? 函数就一个代码块,可以是一个完全独立与其它内容没有关系的代码块,也可以是一个与外界环境紧密相关的代码块.函数是一个拥有输入和输出的独立代码块.函数是程序中最重要的组成部分. 函数,是一种封装(将一些语句,封装到函数里面).通过函数可以封装任意多条语句,而且可以在任何地方.任何时候调用执行. 在javascript里,函数即对象,程序可以随意操控它们.函数可以嵌套在其他函数中定义,这样它们就可以访问它们被定义时所处的作用域中的

javascript中使用md5函数

javascript中使用md5函数 这对于js来讲本来是没有的,现在可以自己定义一个md5的函数,达到加密效果. var hexcase = 0; function hex_md5(a) { if (a == "") return a; return rstr2hex(rstr_md5(str2rstr_utf8(a))) } function hex_hmac_md5(a, b) { return rstr2hex(rstr_hmac_md5(str2rstr_utf8(a), s

C语言实现md5函数代码

网上找到的实现md5函数代码,包括一个头文件md5.h和一个源文件md5.c,用下面的测试代码test.c测试通过,各文件依次如下: 头文件md5.h [cpp] view plaincopy #ifndef MD5_H #define MD5_H typedef struct { unsigned int count[2]; unsigned int state[4]; unsigned char buffer[64]; }MD5_CTX; #define F(x,y,z) ((x & y)