MD5()函数绕过

示例代码: if (md5($_POST['md51']) == md5($_POST['md52']) && $_POST['md51'] != $_POST['md52']) 弱类型绕过 PHP在处理哈希字符串时,会把每一个0E开头的哈希值解释为0,所以若两个不同密码进行哈希后以0E开头,则会被认为值均为0,从而判等。 md5加密后开头为0E的值: QNKCDZO 240610708 s878926199a s155964671a s214587387a s214587387a 以示例代码为例,分别给md51和md52赋表中不同的值。经过md5加密后,值均为0,而原始值又不同,顺利绕过if判断。 数组绕过 md5()函数无法处理数组,会对传入的数组返回NULL,即数组经过md5加密后均得到NULL。 我们仅需传入如下数据即可,数组内容随意: md51[]=1&md52[]=2 文章许可:本文采用CC BY-NC-SA 4.0许可协议,转载请注明出处。

Created: 2021-08-13 · Updated: 2021-08-13 · 0opsdc

BUUCTF

Basic Linux Labs 2020年10月24日 更新:目前所有靶机均能直接访问互联网。 点击启动靶机可以启动一台安装好了 LAMP 的机器。 并且这台机器位于靶机内网,所有动态靶机均可直接通过主机名访问这台机器。 但由于目前一个账户只能同时启动一台靶机,您如果有需要建议浏览器开一个隐私窗口,注册一个新账号来启动这个靶机。 ssh 用户名:root 密码:123456 地址和端口为动态分配的。 开启环境后按照题目给定地址和端口使用SSH连接即可。 连接上云主机后使用ls命令,发现当前用户家目录下啥也没有,再使用cd ..命令切换到根目录下看看,发现flag.txt文件。 也可直接使用cat /flag.txt命令查看flag。 BUU LFI COURSE 1 启动环境后得到如下PHP代码: <?php /** * Created by PhpStorm. * User: jinzhao * Date: 2019/7/9 * Time: 7:07 AM */ highlight_file(__FILE__); if(isset($_GET['file'])) { $str = $_GET['file']; include $_GET['file']; } 本地文件包含,通过file参数进行传参,可在URL后构造参数?file=/flag查看flag。 拓展 通过Wappalyzer插件可以发现网站使用了nginx服务,尝试访问nginx访问日志: ?file=/var/log/nginx/access.log 页面回显出我们刚才的访问记录,接下来我们使用bp抓包尝试写入phpinfo。 通过在User-Agent字段最后插入aaaaaaa<?php phpinfo();?>bbbbbbb传入phpinfo(),刷新页面后检查是否传入成功。 Request请求包如下: GET /?file=/var/log/nginx/access.log HTTP/1.1 Host: <domain>:<port> Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10....

Created: 2021-08-13 · Updated: 2021-08-13 · 0opsdc

从0到1-CTFer成长之路

平台地址:N1BOOK平台-Nu1L Team 第一章 Web入门 信息搜集 常见搜集 Des:一共3部分flag。 环境搭建 docker-compose.yml: version: '3.2' services: web: image: registry.cn-hangzhou.aliyuncs.com/n1book/web-information-backk:latest ports: - 80:80 启动: docker-compose up -d 解题过程 既然说到了敏感文件,先试试robots.txt文件是否存在: User-agent: * Disallow: /flag1_is_her3_fun.txt 访问flag1_is_her3_fun.txt,获得第一部分flag。 剩下的工作就是扫描后台了,分别访问index.php~和.index.php.swp。 粗心的小李 Des:看看能不能找到信息吧? 环境搭建 docker-compose.yml: version: '3.2' services: web: image: registry.cn-hangzhou.aliyuncs.com/n1book/web-information-git:latest ports: - 80:80 启动: docker-compose up -d 解题过程 Git泄露,找一下利用工具:gakki429/Git_Extract: 提取远程 git 泄露或本地 git 的工具 (github.com) 使用后会在当前目录生成一个以网站命名的文件夹,cd进去,发现有一个index.html文件。flag就在其中。 SQL注入 SQL注入-1 Des:N/A。 环境搭建 docker-compose.yml: version: '3.2' services: web: image: registry.cn-hangzhou.aliyuncs.com/n1book/web-sql-1:latest ports: - 80:80 启动:...

Created: 2021-07-03 · Updated: 2021-07-03 · 0opsdc

Bugku

Bugku Web Web1 Des:flag{}。 查看源码即可。 Web2 Des:输入验证码即可得到flag。 输入框有输入长度限制,在控制台修改长度即可。 Web3 Des:flag{}。 通过get传参,按照题目要求直接传入 ?what=flag Web4 Des:post。 方法1 利用hackbar直接post传参。 方法2 利用burp抓包传值。 方法3 编写python脚本。 import requests s = requests.Session() r = s.get("<url>") value = {'what':'flag'} r = s.post("<url>", value) print(r.text) 题目更新 Des:看看源代码吧。 查看源代码,发现有两串编码字符串,分别对两个字符串进行URL解码,按照代码含义将其组合起来,放到控制台Console里排版。 将if判断里与a.value判等的值输入提交框,提交。 获得flag。 Web5 Des:矛盾。 $num = $_GET['num']; if (!isnumeric($num)) { echo $num; if ($num == 1) echo 'flag{********}'; } 利用1a绕过,例: ?num=1a01 Web6 Des:flag{}。 查看源码。 Unicode编码,解码即可。 Web7 Des:你必须让它停下。 burp抓包,使用重放(Repeater)模块不断点击go发送页面,注意查看response。 Web8 Des:文件包含。 打开题目获得代码:...

Created: 2020-04-13 · Updated: 2020-04-13 · 0opsdc

攻防世界

攻防世界 Web view source Des:X老师让小宁同学查看一个网页的源代码,但小宁同学发现鼠标右键好像不管用了。 查看页面源码。 获得flag。 robots Des:X老师上课讲了Robots协议,小宁同学却上课打了瞌睡,赶紧来教教小宁Robots协议是什么吧。 在URL后加上robots.txt,得到一个php页面提示,访问对应php文件。 获得flag。 backup Des:X老师忘记删除备份文件,他派小宁同学去把备份文件找出来,一起来帮小宁同学吧! 尝试backup.php,无效。 使用御剑扫描后台,得到index.php.bak,输入后下载备份文件,cat查看。 获得flag。 cookie Des:X老师告诉小宁他在cookie里放了些东西,小宁疑惑地想:‘这是夹心饼干的意思吗?’ 使用burp抓包,得到cookie.php。 继续使用burp抓包,查看Response。 获得flag。 disable_button Des:N/A。 页面的flag按钮无响应,猜测被禁用,查看控制台元素。 <input class="btn btn-default" disabled> 将此处的disabled前三字符删除,改为abled,按下按钮。 获得flag。 weak_auth Des:小宁写了一个登陆验证页面,随手就设了一个密码。 查看源码。 <from class="form-inline" method="post" action="./check.php"> 有一个验证页面,访问它。 页面空白,查看源码,提示。 <!--maybe you need a dictionary--> 这道题或许不需要字典? 尝试御剑扫描,无果。 好的我错了,随机输入用户名和密码,使用burp抓包,response显示用户名必须为admin,初次爆破无果,手动尝试123456,正确….如果尝试继续用字典的话还是可以爆出来,只是比较费时间。 获得flag。 simple_php Des:小宁听说php是最好的语言,于是她简单学习之后写了几行php代码。 <?php show_source(__FILE__); include("config.php"); $a = @$_GET['a']; $b = @$_GET['b']; if ($a == 0 and $a) { echo $flag1; } if (is_numeric($b)) { exit(); } if ($b > 1234) { echo $flag2; } ?...

Created: 2020-01-03 · Updated: 2020-01-03 · 0opsdc