1.      程序逻辑问题

题目提示是程序逻辑问题,那一定涉及到源码审计嘛,F12查看网页源代码:

这儿不就藏着源码吗,构造URL访问index.txt的如下源码:

<html>

<head>

welcome to simplexue

</head>

<body>

<?php

if($_POST[user] && $_POST[pass]) {

$conn= mysql_connect("********, "*****", "********");

mysql_select_db("phpformysql")or die("Could not select database");

if($conn->connect_error) {

die("Connectionfailed: " . mysql_error($conn));

}

$user = $_POST[user];

$pass = md5($_POST[pass]);

$sql = "select pw from php whereuser='$user'";

$query = mysql_query($sql);

if (!$query) {

printf("Error:%s\n", mysql_error($conn));

exit();

}

$row = mysql_fetch_array($query,MYSQL_ASSOC);

//echo $row["pw"];

if(($row[pw]) && (!strcasecmp($pass, $row[pw]))) {

echo"<p>Logged in! Key:************** </p>";

}

else {

echo("<p>Log in failure!</p>");

}

}

?>

<form method=post action=index.php>

<input type=text name=uservalue="Username">

<input type=password name=passvalue="Password">

<input type=submit>

</form>

</body>

<a href="index.txt">

</html>

根据源码可以看到两处特别需要重视的地方,我已标红,很明显该sql语句存在注入漏洞,但是密码栏不能通过一般的注入来绕过,但是可以发现,只要满足了($row[pw]) && (!strcasecmp($pass,$row[pw])就可以拿到flag,也就是说,我们输入的$pass与从数据库取出来的pw一致就行,我们可以控制$pass的值,但是貌似不知道数据库中pw的值,但是我们可以直接用union select ‘某一个经过md5加密后的字符串’#来自己随意设定密码,注意这里一定是经过md5加密,不然会出错。

构造语句:’ and 0=1 union select ‘529CA8050A00180790CF88B63468826A’#

密码:hehe

就拿到flag了。

2.

实验吧-程序逻辑问题writeup相关推荐

  1. CTF---Web入门第十二题 程序逻辑问题

    程序逻辑问题分值:20 来源: 实验吧 难度:中 参与人数:6909人 Get Flag:1993人 答题人数:2070人 解题通过率:96% 绕过 解题链接: http://ctf5.shiyanb ...

  2. 8255总线实验 编写程序利用8255扩展单片机的IO口,控制8位数码管显示1-8。

    8255总线实验 编写程序利用8255扩展单片机的IO口,控制8位数码管显示1-8. 程序: #include<reg51.h> #include<absacc.h> #def ...

  3. jacobi matlab程序,jacobi迭代法实验MATLAB程序数值分析

    jacobi迭代法实验MATLAB程序数值分析 例1. 求线性方程组 得近似解.精确解为x*=[3,2,1]'. 解:对方程进行移项就得 记为Ax=b,或写为x=B0 x+f,其中 取初始值,代入原方 ...

  4. book1复习 使用java理解程序逻辑

    book1复习 使用java理解程序逻辑 第一章 初识Java 开发步骤 编写源代码 编译源文件 运行 基本命令 输出内容:1,输出换行. 2,输出不换行 输入内容:获得键盘的输入 注释 单行注释 多 ...

  5. 题库明细 使用java理解程序逻辑

    题库明细 使用java理解程序逻辑 初识java 变量.数据类型和运算符 选择结构(一) 选择结构(二) 循环结构(一) 循环结构(二) 数组 循环结构进阶 类和对象 类的无参方法 带参数的方法 字符 ...

  6. 第一章 c语言概述程序逻辑,第一章 程序逻辑与C语言概述

    1.第一章 程序逻辑与C语言概述,1.1 C语言概述1.2 程序和程序逻辑,第一章 程序逻辑与C语言概述,1.1 C语言概述,[学习目标]了解C语言工作机制掌握C语言程序的的基本构成了解C语言程序的编 ...

  7. 微型计算机原理实验程序,微机原理实验(含程序).doc

    微机原理实验(含程序) 微机原理实验(含程序) 实验一 基本I/O口扩展实验(请在实验课前写好预习报告) 实验目的: 1.了解并熟悉8086K实验系统 2.掌握汇编语言基本程序框架 实验内容: 1.利 ...

  8. matlab滤波实验,Refined Lee滤波实验MATLAB程序.docx

    Refined Lee滤波实验MATLAB程序 clc;closeall;clear all;%*****************弹出文件选择框**************************** ...

  9. 实验二 组合逻辑电路设计;实验三 时序逻辑电路设计

    文章目录 实验二 组合逻辑电路设计实验报告 实验三 时序逻辑电路设计实验报告 实验二 组合逻辑电路设计实验报告 一.实验目的 1.加深理解组合逻辑电路的工作原理. 2.掌握组合逻辑电路的设计方法. 3 ...

最新文章

  1. php环境搭建 warmp_PHP环境搭建
  2. tcp连接的三次握手
  3. json map java_Java:JSON和Map相互转换
  4. ADO.NET常用对象详解之:DataAdapter对象
  5. Python批量修改Excel文件格式:加粗、颜色交替、渐变背景色填充
  6. 808协议与php通讯,车载808协议对接、交通部794对接、部标808协议809协议对接
  7. 网线连接电脑共享文件传递
  8. Classic Poems ----Tagore, Stray birds
  9. Python 爬取zw年鉴
  10. Selenium2 Python自动化测试实战(第二版)第一部分 自动化测试基础-总结笔记
  11. java 解析xml工具类_轻松解析XML的工具类
  12. html div 字体向左自动,在css中怎样设置字体靠左?
  13. 基于python/scipy学习概率统计(2):伯努利分布(Bernoulli Distribution)
  14. 编译原理: Thompson 构造法(正则表达式 转 NFA)
  15. 用Windows自带的工具写一个一键关机小程序
  16. 静音键盘 知乎_如何“静音”您的嘈杂机械键盘
  17. 移远EC25-xxx国外支持列表
  18. java中如果int类型超出了它的范围
  19. Windows环境下使用Internet Information Service( IIS)管理器上搭建Web资源网站
  20. 全新原装STM32/GD32可能是假货

热门文章

  1. MySQL like查询后置%索引失效分析
  2. 【四二学堂】认识网络爬虫
  3. win7 任务栏图标计算机,Win7系统电脑清理任务栏图标的操作方法
  4. 强化学习入门简单实例 DQN
  5. 在你正觉得STM32F3还缺点儿啥时,STM32G4来了!
  6. 哈佛大学图书馆二十条训言
  7. 锐角网络CEO许胜受邀参加通证学院“上链说明会”北京站
  8. 设备SDK--华三IMOS平台
  9. 基于MATLAB的小游戏(puzzle)
  10. 达林顿管的作用和工作原理 达林顿管的几个注意事项