1. 1. 数据库注入
    1. 1.1. 【Web攻防】第41天:ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏
    2. 1.2. 第42天:PHP应用&MYSQL架构&SQL注入&跨库查询&文件读写&权限操作
    3. 1.3. 第43天:PHP应用&SQL注入&符号拼接&请求方法&HTTP头&JSON&编码类
    4. 1.4. 第44天:PHP应用&SQL盲注&布尔回显&延时判断&报错处理&增删改查方式
    5. 1.5. 第45天:PHP应用&SQL二次注入&堆叠执行&DNS带外&功能点&黑白盒条件
    6. 1.6. 第46天:注入工具&SQLMAP&Tamper编写&指纹修改&高权限操作&目录架构
  2. 2. 文件上传
    1. 2.1. 第47天:PHP应用&文件上传&函数缺陷&条件竞争&二次渲染&黑白名单&JS绕过
    2. 2.2. 第48天:PHP应用&文件上传&中间件CVE解析&第三方编辑器&已知CMS漏洞
    3. 2.3. 第49天:文件上传&存储安全&OSS对象&分站&解析安全&解码还原&目录执行
    4. 2.4. 第50天:PHP应用&文件包含&LFI&RFI&伪协议编码算法&无文件利用&黑白盒
    5. 2.5. 第51天:前后台功能点&文件下载&文件读取&文件删除&目录遍历&目录穿越
  3. 3. XSS跨站脚本
    1. 3.1. 第52天:XSS跨站&反射型&存储型&DOM型&标签闭合&输入输出&JS代码解析
    2. 3.2. 第53天:XSS跨站&SVG&PDF&Flash&MXSS&UXSS&配合上传&文件添加脚本
    3. 3.3. 第54天:XSS跨站&Cookie盗取&表单劫持&网络钓鱼&溯源分析&项目平台框架
    4. 3.4. 第55天:XSS跨站&CSP策略&HttpOnly属性&Filter过滤器&标签闭合&事件触发
  4. 4. 第56天:CSRF请求伪造&Referer同源&置空&配合XSS&Token值校验&复用删除
  5. 5. 第57天:SSRF服务端请求&Gopher伪协议&无回显利用&黑白盒挖掘&业务功能点
  6. 6. 第58天:RCE代码&命令执行&过滤绕过&异或无字符&无回显方案&黑白盒挖掘
  7. 7. 第59天:XML&XXE安全&无回显方案&OOB盲注&DTD外部实体&黑白盒挖掘

Web攻防基础-小迪安全

数据库注入

【Web攻防】第41天:ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏

Asp应用的Access数据库不需连接,而是直接在脚本文件定义好数据库路径即可

database/%23data.mdb %23即为# 默认的数据库路径

确实有点无聊了,实验的网站也非常老

他是默认路径访问直接可以下载数据库,但是别的语言都要有账号密码才能访问,所以不存在啊

IIS短文件名探测

IIS6解析漏洞 6版本没有补丁.asp;.jpg 加上分号;文件夹的名字改为1.asp

IIS写权限漏洞 web服务拓展加入写权限 利用postman post 1.txt测试直接写入文件(这是小迪老师学安全的时候的东西)

SQL注入即为数据库注入,与数据库类型有关,与开发语言无关

容错页面,代码逻辑设置,导致的404页面,而不一定是SQL注入

听不懂也没关系,以后也用不到了啊

HTTP.sys远程执行代码漏洞验证及复现——CVE-2015-1635、MS15-034[通俗易懂]-腾讯云开发者社区-腾讯云

IIS深入浅出之短文件漏洞知多少 - FreeBuf网络安全行业门户

IIS6.0解析漏洞复现 - FreeBuf网络安全行业门户

第42天:PHP应用&MYSQL架构&SQL注入&跨库查询&文件读写&权限操作

java的数据库用oracle讲解

数据库一对一管理 不用用户,每个网站单独建立数据库管理

确实,面向0基础,中间介绍information_schema跳过了

跨库注入

sql注入基本没有,小站挖着也没啥价值了 纯当练手了。

load_file 路径 win \\或/

读文件 load_file

unino select写文件需要root,对数字、字符型有要求吗

google镜像

确实,现在没有用武之地,还讲那么细干嘛呀

sqlserver没有写文件

第43天:PHP应用&SQL注入&符号拼接&请求方法&HTTP头&JSON&编码类

数字型和字符型,都可以加上单引号,进而实现正常的查询

POST注入

XFF注入:只要涉及数据库交互就会可能产生sql注入

XFF抓包修改,PHP外的语言可能伪造不通过

只要有传参,并且带到数据库执行,就有可能注入

这节课讲了各个位置的注入方式

第44天:PHP应用&SQL盲注&布尔回显&延时判断&报错处理&增删改查方式

有的学生菜还不细心

报错注入,判断字符要用ASCII,因为’字母’。单引号会被转义

什么时候用and还是or

第45天:PHP应用&SQL二次注入&堆叠执行&DNS带外&功能点&黑白盒条件

二次注入可以理解为,攻击者构造的恶意数据存储在数据库后,恶意数据被读取并进入到SQL查询语句所导致的注入。防御者即使对用户输入的恶意数据进行转义,当数据插入到数据库中时被处理的数据又被还原,Web程序调用存储在数据库中的恶意数据并执行SQL查询时,就发生了SQL二次注入。

二次注入详解 - jackie_le - 博客园

上面链接是关于sqli-lab24的例子,先注册admin’#,即可实现修改admin的密码,原理如下:

1
update users set password='$new_pass' where username='admin'# and password='$old_pass';

不过小迪的例子是利用报错注入的二次注入 admin’ and updatexml()#

从二次注入,到报错注入注入,再到正则表达式绕过-腾讯云开发者社区-腾讯云

php - mysql_real_escape_string() 到底起什么作用? - 堆栈内存溢出 — php - what does mysql_real_escape_string() really do? - Stack Overflow 添加转义符号,进而防止sql注入,和上面的二次注入相关,插入恶意sql被转义后「修改密码」时读取数据还原,实现sql注入

addslashes

骑士CMS 创建简历 查看简历 实现二次注入,查数据库的敏感信息

堆叠注入

分号前后执行多条sql语句

mysqli_query() 代码中只支持单条sql语句的执行

题目:BUUCTF 强网杯2019 随便注 直接show database 过滤select ,需要编码后 这里是预编译,prepare是将@a里的东西预编译成名为execsql的东西,然后execute execsql就是执行这个编译好后的东西

(4 封私信 / 5 条消息) [强网杯 2019]随便注 1【SQL注入】四种解法 - 知乎

BUUCTF[强网杯 2019]随便注 的三种解法-CSDN博客 注意其中的参数名可能多空格,另外;前面加1’ 当时自己用POC时是中文输入法,一直错

0’; show columns from 1919810931114514; #

带外注入:需要root高权限且支持load_file(确实,这样支持了,直接写shell)     开启secure-file-priv 解决不回显问题

不了解是不是内鬼,为什么dnslog平台出来一堆数据 另外,为什么需要 \\ dnslog \

第46天:注入工具&SQLMAP&Tamper编写&指纹修改&高权限操作&目录架构

开始是讲sqlmap的使用方法

先是直接-u 存在注入点,识别出是MSSQL,MSSQL由于不像Mysql那样有数据库和数据库信息表,只能通过爆破字典的方式

–is-dba 判断是否数据库管理员

高权限注入

–data 数据包(json直接添加,识别成字符串)-r 添加*号,保证数据包完整性

tamper脚本:

注入点参数值有编码

可以双写绕过「过滤替换」,直接自己写一个tamper payload修改为双写,主要是思路

–proxy 将sqlmap的流量包代理到burp上。

学了不思考、不复现,等于白学

文件上传

第47天:PHP应用&文件上传&函数缺陷&条件竞争&二次渲染&黑白名单&JS绕过

「整体简单,数组绕过、函数缺陷不了解;这几篇看完后了解常见面试题即可,如XX情况,应选择哪种绕过方式,和XX绕过的条件」

f8x :ffffffff0x/f8x: 红/蓝队环境自动化部署工具 | Red/Blue team environment automation deployment tool 小迪用这个搭建的文件上传靶场

前后端检测、黑白名单、文件头

文件二次渲染

先上传后判断-条件竞争

解析:.htaccess

函数缺陷move_uploaded_file 保存文件名 绕过:shell.php/.

代码审计-数组绕过

这些基础的漏洞都越来越少了

第48天:PHP应用&文件上传&中间件CVE解析&第三方编辑器&已知CMS漏洞

「地铁看的,vulhub很好用,唉,小迪老师也不看好这些基础漏洞的应用,不用深入研究细节,了解其思想即可;反之,如果以后要深入搞Java的代码审计,那么相关的基础要打牢」

第49天:文件上传&存储安全&OSS对象&分站&解析安全&解码还原&目录执行

「讲的比较简单,目录执行权限,base64编码、分站存储、OSS对象」

OSS、bucket 标准存储 一访问就下载

accesskeyid 用户信息管理 AKSK

403 php没有办法正常执行

分站存储

base64图片编码,放弃

文件上传存储目录不给权限

随着时间发展,攻击面越来越少 ,只会越来越安全了

对象存储SDK

应用功能追踪代码定位审计

脚本特定函数搜索定位审计

伪协议绕过

第50天:PHP应用&文件包含&LFI&RFI&伪协议编码算法&无文件利用&黑白盒

黑盒,常见参数:path、dir、file、page、archive、p、eng

有文件利用:上传的恶意文件

无文件利用:日志、session、伪协议

php input 远程文件需要open模式,data协议本地和远程文件均需要open模式

filter base64写入shell还需要file_put_contents

文件读取、写入、代码执行

php session upload progress

82 session条件竞争,不理解为什么有些不能直接浏览器访问,必须构造HTTP文件访问;抓包:生成session和访问session进而触发生成shell。

87关:两次urlencode;因为只是通过解码一次后的结果进行过滤;前面加上两位的占位符;或采用rot13加密

88关:base64后编码后不能包含被过滤的字符

第51天:前后台功能点&文件下载&文件读取&文件删除&目录遍历&目录穿越

url路径直接下载,如果是PHP,会按照PHP解析;另一种是file参数传递路径,直接读取源码或敏感信息「感觉文件下载简单,应该放在文件包含前讲啊」

文件删除 不好测试+一般在后台或删除自己文件

演示:seacms,install重装,提示需要删除XX文件;templets/../install_lock.txt

目录遍历、目录穿越

开发要学到哪种程度,能独立开发项目还是能看懂代码(不需要能独立开发,水平很高了)

XSS跨站脚本

自己对于后面几节的高级XSS利用方式还真是不会啊

第52天:XSS跨站&反射型&存储型&DOM型&标签闭合&输入输出&JS代码解析

接受输入数据(js代码),输出显示数据后台解析执行 ifream src嵌套第三方网站

反射

存储

DOM 演示:锚点#实现跳转第三方站

交互式

<img src=$x> 标签 x onerror="alert(1)"

小皮面板XSS

标签和过滤方式决定

第53天:XSS跨站&SVG&PDF&Flash&MXSS&UXSS&配合上传&文件添加脚本

用SVG、PDF 配合文件上传或直链制作,进而钓鱼触发XSS

Flash插入js代码,反编译

AntSwordProject/ant: 实时上线的 XSS 盲打平台

78778443/xssplatform: 一个经典的XSS渗透管理平台

Ascotbe/Medusa: :cat2:Medusa是一个红队武器库平台,目前包括XSS平台、协同平台、CVE监控、免杀生成、DNSLOG、钓鱼邮件、文件获取等功能,持续开发中

rmb122/xss-receiver: 简单易用的 xss 接收平台 + payload 管理平台

mXSS 突变性 本来转义 现在没法演示之前的

UXSS 比如edge特定版本浏览器翻译时触发XSS

盲打:黑盒完全测试

cookie窃取:对session、jwt没用

小皮面板登录框插入XSS窃取cookie到XSS平台后,利用登录的管理员的PHPSession cookie不成功,或又跳转到登录页面,即使postman发包也没实现 js文件中 access_token的鉴权

第54天:XSS跨站&Cookie盗取&表单劫持&网络钓鱼&溯源分析&项目平台框架

小皮面板由于cookie窃取后登录不成功,改进:恶意js代码放到VPS上,js:通过定时任务写入shell到网站目录下

据说是被内鬼添加了网站防火墙 CC规则,uri=all

之后搭建了一个贷款平台的客户端和管理端(需要低版本的PHPstudy),用户在提现的输入框插入XSS平台语句,管理员审查时,触发XSS泄漏cookie,进而被攻击者利用实现登录

这个钓鱼的真的有意思,操作后,js弹窗提示,直接提到钓鱼网站,之后诱导下载捆绑后门的软件 可见于22年152天-154天的钓鱼课程

XSS数据平台:XSS- Receiver

浏览器控制框架beef-xss,执行XSS,实现对当前浏览器的控制;看到beef的各类操作:0click跳转到第三方站,甚至有获取摄像头,像是第一次看到CS工具一样兴奋🥰;不过还是现在法律严格,没有那么多为了炫技搞得,所以这种涉及到用户交互或欺骗类的,奖励没纯安全漏洞高,比如src不收之类的,但有心利用「组合技」还是危害很大的;;beef的工具很酷,不过需要搭配钓鱼或用户中招,当然不如通杀了

怪不得,之前看blog,讲「余弦」之前就主攻过一段时间的XSS,确实很有吸引力

第55天:XSS跨站&CSP策略&HttpOnly属性&Filter过滤器&标签闭合&事件触发

CSP策略:内容安全策略 只允许加载本地图片,不允许加载第三方站「原来的目的,是为了防止盗链」

Web 安全之内容安全策略(Content-Security-Policy,CSP)详解 - 斑林鸽的代码世界 - 博客园

由于网上的XSS管理平台一直没有响应结果,于是手写了发送cookie和HTTP,在VPS上写接收的

XSS的CSP绕过很鸡肋,还是CSP设置的不严谨,如有些目录刻意没开启、

对于XSS跨站脚本攻击的学习-先知社区

HttpOnly:浏览器查看cookie,有HttpOnly选项,是否为✅即为是否开启

XSS-lab考察标签的绕过,相比ctfshow的更贴近实际 XSS filter 过滤标签和符号、实体化

XSSLab保姆级教程 - 跳跳糖

level2:符号闭合”><”

3:’onmouseover = ‘javascript:alert(1) 强行加事件

8:个人理解,这个unicode加密JS语句,不是直接在URL中解密执行,而是先在浏览器对其解码变成javascript:alert()后,再在URL中执行

9 检测http,符合网站实际功能需求,有意义,不是瞎编的靶场题目

黑盒XSS:页面显示的数据可控的,可控发送JS看执行情况,不成功尝试过滤绕过

XSSStrike工具,XSS需要别人触发,相比SQL尽管越来越少,但是能获取账号密码或数据库

第56天:CSRF请求伪造&Referer同源&置空&配合XSS&Token值校验&复用删除

无检测防护:

CSRF跨站请求伪造:伪造客户端发送请求

确实,现在越来越高端,都不用DVWA或pikachu之类的,直接用CMS,不过这些没有很好的靶场吗,直接docker搭建那种

BP选项生成CSRF POC

抓到功能数据包并修改EXP,用户触发且登录状态,无防护或防护能绕过

检测Referer字段 z-blog直接执行POC,需要修改Referer或提前固定

真正有实力的师傅,不会这样显摆自己(又一次内鬼改密码)

全部对比:一一对应

部分对比:包含即可 天呐,直接在自己VPS的POChtml前目录改为受害者IP「不过不能直接burp抓到的包添加好,再生成吗」

配合XSS和上传,保证触发数据包是同一来源

置空来源:有时正常业务就是没有ref

Token校验:

CSRF_Token绕过:复用、删除、置空 感觉这一段讲的啰嗦了

第57天:SSRF服务端请求&Gopher伪协议&无回显利用&黑白盒挖掘&业务功能点

http file dict sftp ldap tftp gopher

内网探测

351:ssrf 服务器 发起url请求

352:屏蔽127.0.0.1 改编码或进制

354:屏蔽 0 1 短地址生成 原理是什么 哦哦,还是得能出网解析 设置服务器域名解析到本地127.0.0.1

355:0 或 [::]可代表127.0.0.1 限制长度

357: VPS 开启一个重定向

358:ctf.@ #show 不影响域名解析,路径又带有要求的字符串

359:gopherus工具 对于mysql生成query语句的gopher语法 工具生成后的需要再编码一次

ssrf无回显:dnslog

1.直接将命令执行结果输出到一个静态资源文件里 再去访问

3.将命令执行结果回显到请求poc的http响应中

XFO 点击劫持:X-Frame-Options 是 HTTP 响应头,用来防止网页被嵌套在 <iframe>,是防御点击劫持的一个关键机制。

文件导出src ssrf

第58天:RCE代码&命令执行&过滤绕过&异或无字符&无回显方案&黑白盒挖掘

「命令执行的绕过提供了很多新思路,也可能之前没过多尝试,浅尝辄止」

转义 空变量

$@ 变量

${}

拼接法、反引号绕过

编码绕过

touch 创建 文件 后 ls -t > shell 换行不理解 touch 是创建文件,ls 查看目录 -t 按时间排序 > 是输出到shell sh 读取shell并且执行

异或无符号 过滤字母和数字

RCE无回显:写文件访问查看、直接对外访问

RCE加文件包含的伪协议 RCE设置传参数,参数值为伪协议和命令

啊,在线代码运行工具,真能反弹shell,不过弹幕说容器

docker判断和逃逸

每天都去思考学的内容

第59天:XML&XXE安全&无回显方案&OOB盲注&DTD外部实体&黑白盒挖掘

XXE由于有自己的特殊数据格式,所以没打过靶场

XML传输和存储数据,逐渐被json取代

外部实体加载:加载恶意文件,文件读取、命令执行、内网扫描 类似SSRF的危害

XXE-lab

演示读取文件

soap

无回显:分析 带外查询(DNSlog VPS开启python的HTTPserver)

OOD盲注外部实体引用 外部引用实体 dtd

PHP xml simple 原生态和第三方库

没漏洞、没回显、payload不正确

读取文件有空格 传输出错,通过base64编码