数据库注入
【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二次注入。
上面链接是关于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设置的不严谨,如有些目录刻意没开启、
HttpOnly:浏览器查看cookie,有HttpOnly选项,是否为✅即为是否开启
XSS-lab考察标签的绕过,相比ctfshow的更贴近实际 XSS filter 过滤标签和符号、实体化
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编码