挺简单的一个代码审计,这里只要倒序解密就行了,这里给一下python版的wp

 import codecs
import base64 strs = 'a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws'
str1 = codecs.encode(strs, 'rot13')
str2 = str1[::-1]
str3 = base64.b64decode(str2)
str4 = codecs.decode(str3,'utf-8')
key = ''
i = 0
while i < len(str4):
asc = ord(str(str4[i])) s = chr(asc-1)
key += s
i += 1
key = key[::-1]
print(key)

False

又是一道代码审计的题:

 <?php
if (isset($_GET['name']) and isset($_GET['password'])) {
if ($_GET['name'] == $_GET['password'])
echo '<p>Your password can not be your name!</p>';
else if (sha1($_GET['name']) === sha1($_GET['password']))
die('Flag: '.$flag);
else
echo '<p>Invalid password.</p>';
}
else{
echo '<p>Login first!</p>';
?>

我也是看了大佬的wp才知道,这里就直接引用大佬的分析了,大佬写的很详细

“分析代码逻辑,发现GET了两个字段name和password,获得flag要求的条件是:name != password & sha1(name) == sha1(password),乍看起来这是不可能的,其实可以利用sha1()函数的漏洞来绕过。如果把这两个字段构造为数组,如:?name[]=a&password[]=b,这样在第一处判断时两数组确实是不同的,但在第二处判断时由于sha1()函数无法处理数组类型,将报错并返回false,if 条件成立,获得flag。

经验证md5()函数同样存在此漏洞。”

实验吧_NSCTF web200&FALSE(代码审计)的更多相关文章

  1. 实验吧——NSCTF web200

    题目地址:http://ctf5.shiyanbar.com/web/web200.jpg 打开就是个自定义加密函数,只要写出相应的解密算法就行 <?php function encode($s ...

  2. 实验吧CTF练习题---WEB---FALSE解析

    实验吧web之FALSE 地址:http://www.shiyanbar.com/ctf/1787 flag值:CTF{t3st_th3_Sha1}   解题步骤: 1.点开题目链接,观察题意 2.题 ...

  3. filebeat.yml(中文配置详解)

    ################### Filebeat Configuration Example ######################### ####################### ...

  4. 开始使用 Vuejs 2.0 ---简单总结2

    Vuejs的常用指令 v-html v-show v-if v-for v-on 1 .v-html v-html 更新元素或者变量的innerHTML,按普通html解析,和v-text的区别是在变 ...

  5. Flume 启动

    Configuration是Flume项目的入口程序了,当我们输入 bin/flume-ng agent --conf conf --conf-file conf/kafka1.properties ...

  6. 【网鼎杯2020白虎组】Web WriteUp [picdown]

    picdown 抓包发现存在文件包含漏洞: 在main.py下面暴露的flask的源代码 from flask import Flask, Response, render_template, req ...

  7. 【实验吧】guess next session&&FALSE&&NSCTF web200&&程序逻辑问题

      guess next session源码: <?php session_start(); if (isset ($_GET['password'])) { if ($_GET['passwo ...

  8. 实验吧_登陆一下好吗(骚注入)&你真的会PHP吗?(代码审计)

    登陆一下好吗 首先看到两个输入框,分别对应账号密码,随手输个admin,admin进去,提交后发现有回显,既然题目说了过滤了一切,那就先看看过滤了些啥 经过一波测试,发现服务器过滤了union,sel ...

  9. 实验吧_Guess Next Session&Once More(代码审计)

    Guess Next Session 看题目提示,是一道代码审计: <?php session_start(); if (isset ($_GET['password'])) { if ($_G ...

随机推荐

  1. openjudge(四)

    关于switch的应用: #include <iostream>#include<iomanip>using namespace std;int main(){int a,b; ...

  2. [日常] NOIWC 2018爆零记

    开个坑慢慢更(逃 (然而没准会坑掉?) day 0 大概 $8:30$ 就滚去雅礼了qwq 过去的时候发现并没有人...进报到处楼门的时候还被强行拍照围观了一波OwO 然后就领了HZ所有人的提包和狗牌 ...

  3. Environment.getExternalStorageDirectory()

    Environment.getExternalStorageDirectory()得到的是storage/emulated/0

  4. NOIP2012 提高组 Day 2

    http://www.cogs.pro/cogs/page/page.php?aid=16 期望得分:100+100+0=0 实际得分:100+20+0=120 T2线段树标记下传出错 T1 同余方程 ...

  5. 工频相位无线同步模块PSYN5000系列在高压设备状态检测和局部放电故障定位的应用方案

    关键词: PSYN5000,无线同步模块,工频相位,局部放电,在线监测,高压设备,设备状态,故障定位. 前言: 在电力监测领域,出于方便和安全考虑,有些系统不得不采用无线通信的方式,在这样一个无线通信 ...

  6. Java 10 的 10 个新特性,将彻底改变你写代码的方式!

    Java 9才发布几个月,很多玩意都没整明白,现在Java 10又快要来了.. 这时候我真尼玛想说:线上用的JDK 7 甚至JDK 6,JDK 8 还没用熟,JDK 9 才发布不久不知道啥玩意,JDK ...

  7. Oracle update 执行更新操作后的数据恢复

    操作数据库,经常会出现误操作,昨天执行的更新操作之后发现更新错了,只能想办法数据恢复了,现在整理一下 第一步:查询执行更新操作的时间 select r.FIRST_LOAD_TIME,r.* from ...

  8. O(logN)中logN的底数

    转载:http://blog.csdn.net/jdbc/article/details/42173751 问题: 无论是计算机算法概论.还是数据结构书中, 关于算法的时间复杂度很多都用包含O(log ...

  9. leetcode算法:Island Perimeter

    You are given a map in form of a two-dimensional integer grid where 1 represents land and 0 represen ...

  10. java Servlet文件拷贝的模板代码

    //通过response对象获得一个输出流对象 ServletOutputStream os = response.getOutputStream(); //获得要拷贝文件的绝对路径 String r ...