实验吧-程序逻辑问题writeup
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相关推荐
- CTF---Web入门第十二题 程序逻辑问题
程序逻辑问题分值:20 来源: 实验吧 难度:中 参与人数:6909人 Get Flag:1993人 答题人数:2070人 解题通过率:96% 绕过 解题链接: http://ctf5.shiyanb ...
- 8255总线实验 编写程序利用8255扩展单片机的IO口,控制8位数码管显示1-8。
8255总线实验 编写程序利用8255扩展单片机的IO口,控制8位数码管显示1-8. 程序: #include<reg51.h> #include<absacc.h> #def ...
- jacobi matlab程序,jacobi迭代法实验MATLAB程序数值分析
jacobi迭代法实验MATLAB程序数值分析 例1. 求线性方程组 得近似解.精确解为x*=[3,2,1]'. 解:对方程进行移项就得 记为Ax=b,或写为x=B0 x+f,其中 取初始值,代入原方 ...
- book1复习 使用java理解程序逻辑
book1复习 使用java理解程序逻辑 第一章 初识Java 开发步骤 编写源代码 编译源文件 运行 基本命令 输出内容:1,输出换行. 2,输出不换行 输入内容:获得键盘的输入 注释 单行注释 多 ...
- 题库明细 使用java理解程序逻辑
题库明细 使用java理解程序逻辑 初识java 变量.数据类型和运算符 选择结构(一) 选择结构(二) 循环结构(一) 循环结构(二) 数组 循环结构进阶 类和对象 类的无参方法 带参数的方法 字符 ...
- 第一章 c语言概述程序逻辑,第一章 程序逻辑与C语言概述
1.第一章 程序逻辑与C语言概述,1.1 C语言概述1.2 程序和程序逻辑,第一章 程序逻辑与C语言概述,1.1 C语言概述,[学习目标]了解C语言工作机制掌握C语言程序的的基本构成了解C语言程序的编 ...
- 微型计算机原理实验程序,微机原理实验(含程序).doc
微机原理实验(含程序) 微机原理实验(含程序) 实验一 基本I/O口扩展实验(请在实验课前写好预习报告) 实验目的: 1.了解并熟悉8086K实验系统 2.掌握汇编语言基本程序框架 实验内容: 1.利 ...
- matlab滤波实验,Refined Lee滤波实验MATLAB程序.docx
Refined Lee滤波实验MATLAB程序 clc;closeall;clear all;%*****************弹出文件选择框**************************** ...
- 实验二 组合逻辑电路设计;实验三 时序逻辑电路设计
文章目录 实验二 组合逻辑电路设计实验报告 实验三 时序逻辑电路设计实验报告 实验二 组合逻辑电路设计实验报告 一.实验目的 1.加深理解组合逻辑电路的工作原理. 2.掌握组合逻辑电路的设计方法. 3 ...
最新文章
- php环境搭建 warmp_PHP环境搭建
- tcp连接的三次握手
- json map java_Java:JSON和Map相互转换
- ADO.NET常用对象详解之:DataAdapter对象
- Python批量修改Excel文件格式:加粗、颜色交替、渐变背景色填充
- 808协议与php通讯,车载808协议对接、交通部794对接、部标808协议809协议对接
- 网线连接电脑共享文件传递
- Classic Poems ----Tagore, Stray birds
- Python 爬取zw年鉴
- Selenium2 Python自动化测试实战(第二版)第一部分 自动化测试基础-总结笔记
- java 解析xml工具类_轻松解析XML的工具类
- html div 字体向左自动,在css中怎样设置字体靠左?
- 基于python/scipy学习概率统计(2):伯努利分布(Bernoulli Distribution)
- 编译原理: Thompson 构造法(正则表达式 转 NFA)
- 用Windows自带的工具写一个一键关机小程序
- 静音键盘 知乎_如何“静音”您的嘈杂机械键盘
- 移远EC25-xxx国外支持列表
- java中如果int类型超出了它的范围
- Windows环境下使用Internet Information Service( IIS)管理器上搭建Web资源网站
- 全新原装STM32/GD32可能是假货