博客
关于我
实验吧——WriteUp&&涨姿势(4)
阅读量:234 次
发布时间:2019-02-28

本文共 1395 字,大约阅读时间需要 4 分钟。

WriteUp

  1. 最安全的管理系统
  2. 认真你就输了
  3. so beautiful so white

涨姿势

  1. 程序逻辑问题
  2. FALSE

最安全的管理系统

这里写图片描述

解题思路

找个合适的MD5,再来个序列化搞定

WriteUP

直接输入没有异常反应,那就右键源代码

这里写图片描述

MD5后值和'0'弱类型相等的字符串,网上随便找个就行str='240610708'     md5(str)='0e462097431906509019562988736854'
提交后出现新的url,进去看看

这里写图片描述

这里写图片描述

先反序列化,然后判断得到的数组相应元素是否符合要求是否符合要求只要用弱类型相等就行了,Bool类型的true和字符串弱类型相等$arr = ['user'=>true,'pass'=>true] => a:2:{s:4:"user";b:1;s:4:"pass";b:1;}Playload:user = 240610708    pass =  a:2:{s:4:"user";b:1;s:4:"pass";b:1;}

这里写图片描述


认真你就输了

这里写图片描述

解题思路

打不开一般说明文件类型有问题

WriteUp

HxD看看马上发现好像是zip文件

这里写图片描述

直接改后缀看看

这里写图片描述

直接在某个文件夹下找到flag

这里写图片描述


so beautiful so white

解题思路

图片中找到密码,解压缩Zip得到残缺的GIF,补全得flag

WriteUp

Stegsolve打开图片得到key

这里写图片描述

解压缩Zip得到GIF

这里写图片描述

GIF打不开判断是头结构缺失,HxD看看,确实缺失,补全它

这里写图片描述

打开GIF即可

这里写图片描述


程序逻辑问题

这里写图片描述

解题思路

在如下查询语句失败时会返回union后面的语句,即 'Hello'SELECT username FROM admin where id =-1 union select concat('Hello')

WriteUp

惯例右键源代码,发现代码文件

这里写图片描述

这里写图片描述

代码审计后发现1. pass被MD5处理2. mysql_query()存在漏洞,无论用户是否存在都返回成功3. mysql_fetch_array($query,MYSQL_ASSOC)从查询结果取一个关联数组4. 传入的pass和查询的pass一样则得到flag
1. 由4可知,我们能控制的只有自己提交的pass,所以我们需要查询得到的pass和我们的pass一样2. 查询得到的pass来自mysql_fetch_array($query,MYSQL_ASSOC),所以我们要控制查询结果3. 由2知查询任意用户都不会报错4. 关键点:Select语句失败会返回Union后面的字符串,这里就可以控制查询结果Playload:user=1'  union select '8b1a9953c4611296a827abf8c47804d7' #&pass=Hello

这里写图片描述

涨姿势点

mysql_query()的任意查询漏洞select语句失败时返回union后面的字符串

FALSE

这里写图片描述

解题思路

SHA1函数的漏洞

WriteUP

因为SHA1函数在处理数组时会报错返回false,所以当'name'和'password'都是数组时就返回两个false,此时false==false。所以只需构造两个不同的数组

这里写图片描述

涨姿势点

SHA1函数处理数组时返回falsexxx[] = para可以控制提交的xxx为数组类型

你可能感兴趣的文章
mysql启动和关闭外键约束的方法(FOREIGN_KEY_CHECKS)
查看>>
Mysql启动失败解决过程
查看>>
MySQL启动失败:Can't start server: Bind on TCP/IP port
查看>>
mysql启动报错
查看>>
mysql启动报错The server quit without updating PID file几种解决办法
查看>>
MySQL命令行登陆,远程登陆MySQL
查看>>
mysql命令:set sql_log_bin=on/off
查看>>
mySQL和Hive的区别
查看>>
MySQL和Java数据类型对应
查看>>
mysql和oorcale日期区间查询【含左右区间问题】
查看>>
MYSQL和ORACLE的一些操作区别
查看>>
mysql和redis之间互相备份
查看>>
MySQL和SQL入门
查看>>
mysql在centos下用命令批量导入报错_Variable ‘character_set_client‘ can‘t be set to the value of ‘---linux工作笔记042
查看>>
Mysql在Linux运行时新增配置文件提示:World-wrirable config file ‘/etc/mysql/conf.d/my.cnf‘ is ignored 权限过高导致
查看>>
Mysql在Windows上离线安装与配置
查看>>
MySQL在渗透测试中的应用
查看>>
Mysql在离线安装时启动失败:mysql服务无法启动,服务没有报告任何错误
查看>>
Mysql在离线安装时提示:error: Found option without preceding group in config file
查看>>
MySQL基于SSL的主从复制
查看>>