Javaweb之Tomcat
常见目录bin:该目录下存放的是二进制可执行文件,如果是安装版,那么这个目录下会有两个exe文件:tomcat10.exe、tomcat10w.exe,前者是在控制台下启动Tomcat,后者是弹出GUI窗口启动Tomcat;如果是解压版,那么会有startup.bat和shutdown.bat文件,startup.bat用来启动Tomcat,但需要先配置JAVA_HOME环境变量才能启动,shutdawn.bat用来停止Tomcat
conf:这是一个非常非常重要的目录,这个目录下有四个最为重要的文件:
server.xml:配置整个服务器信息。例如修改端口号。默认HTTP请求的端口号是:8080
tomcat-users.xml:存储tomcat用户的文件,这里保存的是tomcat的用户名及密码,以及用户的角色信息。可以按着该文件中的注释信息添加tomcat用户,然后就可以在Tomcat主页中进入Tomcat Manager页面了
<tomcat-users xmlns="http://tomcat.apache.org/xml" xmlns:xs ...
Javascript随手记
简介基于对象JavaScript是一种基于对象的脚本语言,它不仅可以创建对象,也能使用现有的对象。但是面向对象的三大特性:〖多态〗中,JavaScript能够实现封装,可以模拟继承,不支持多态,所以它不是一门面向对象的编程语言。弱类型JavaScript中也有明确的数据类型,但是声明一个变量后它可以接收任何类型的数据,并且会在程序执行过程中根据上下文自动转换类型事件驱动JavaScript是一种采用事件驱动的脚本语言,它不需要经过web服务器就可以对用户的输入做出响应。跨平台性JavaScript脚本语言不依赖于操作系统,仅需要浏览器的支持。因此一个JavaScript脚本在编写后可以带到任意机器上使用的浏览器支持JavaScript脚本浯言。目前JavaScript已被大多数的浏览器所支持。
引入方式内嵌式在head中(推荐)通过一对script标签定义脚本代码
引入外部脚本文件一个html中可以有多个script标签2一对scr土pt标签不能在引入外部js文件的同时定义内部脚本I3pt标签如果用于引入外部js文件,中间最好不要有任何字符包括空格和换行
对象创建创建对象的语法方式1 ...
CSS随手记
三种引入方式css层样式表(英文全称:(cascading style Sheets)能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力,简单来说,美化页面
行内式通过元素的style属性引入样式语法:style=”样式名:样式值;样式名:样式值:… …
缺点:代码复用度低;css样式代码和html结构代码交织在一起
内嵌式通过在head标签中的style标签定义本页面的公共样式通过选择器确定样式的作用元素
外部样式表将css代码单独放入一个.css文件中,哪个html需要这些代码就在head中通过link标签引入
<link href="css/btn.css" rel="stylesheet">
三大选择器元素选择器根据标签的没名字确定样式作为元素
语法:标签名{}
缺点:某些同名的元素不希望使用某些样式
ID选择器根据标签的id值确定样式的作用元素
缺点:id值有唯一性,只能作用于一个元素
class选择器根据元素的class书信那个值确定样式的作用元素
元素的的class属性值可以重复而且一个元素的clas ...
HTML随手记
基础结构1 html文件的根标签
<html></html>
所有的其他标签都要在这个标签中间2 html根标签下有两个一级子标签
<head></head>
头标签定义那些不直接展示在页面主体上,但是又很重要的内容
1 字符集<metacharset=”utf-8”/>告诉浏览器用什么字符集对文件解码
2 css引入
3 js引入
4 其他
<bodY></bodY>
体标签
1 定义要展示到页面主体的标签
专业词汇标签
代码中的一个<>叫做一个标签,有些标签成对出现,称之为双标签,有些标签单独出现,称之为单标签属性一般在开始标签中,用于定义标签的一些特征
文本
双标签中间的文字,包含空格换行等结构元素经过浏览器解析后,每一个完整的标签(标签+属性+文本)可以称之为一个元素
标签列表有序列表 ol无序列表 ul列表项 li
超链接a
href用于定义要跳转的目标资源的地址 1 完整的url 2 相对路径 3 绝对路径 target用于定义目标资源的打开方式 _s ...
打靶记录(一一九)之HMVDC02
virtualbox导入.ova文件启动后会报”Failed to load the NVRAM store from the file”的错,更改虚拟机名称后能够正常启动
所渗透的靶机IP为192.168.56.126
端口扫描┌──(mikannse㉿kali)-[~/桌面]└─$ sudo nmap --min-rate=10000 -p- 192.168.56.126 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-07-19 06:54 UTCNmap scan report for 192.168.56.126 (192.168.56.126)Host is up (0.00033s latency).Not shown: 65517 filtered tcp ports (no-response)PORT STATE SERVICE53/tcp open domain88/tcp open kerb ...
打靶记录(一一八)之HMVDC01
所进行渗透的靶机ip为192.168.56.130
端口扫描┌──(mikannse㉿kali)-[~/桌面]└─$ sudo nmap --min-rate=10000 -p- 192.168.56.130Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-07-13 16:56 UTCNmap scan report for 192.168.56.130 (192.168.56.130)Host is up (0.00031s latency).Not shown: 65518 filtered tcp ports (no-response)PORT STATE SERVICE53/tcp open domain88/tcp open kerberos-sec135/tcp open msrpc139/tcp open netbios-ssn389/tcp open ldap445/tcp open microsoft-ds464/tcp open kpasswd5593/tc ...
HMVLabsTemperanceX21-32
x21将字节转换成千字节并保留两位小数,使用格式化字符串
data2=data2.decode()kb=int(data2)/1024data3=f"{kb:.2f}KB"print(data3)s.send(data3.encode())
x22chr来转成ascii码
data2=data2.decode()lists=data2.split()lists=map(int,lists)data3=''.join(chr(num)for num in lists)s.send(data3.encode())
x23和前几题一样,只不过变成了5个像素和多了转ascii码的步骤
import base64from io import BytesIOfrom PIL import Image data2=base64.b64decode(data2) Bimage=Image.open(BytesIO(data2)) data3=''.join(str(chr(Bimage.getdata()[i][-1]))for i in range(5)) print( ...
HMVLabsTemperanceX11-20
x11摩斯电码解码,使用字典的方式,题目所给的分隔符是空格
data2=data2.decode().split()def morse(message): MorseList = {".-": "A", "-...": "B", "-.-.": "C", "-..": "D", ".": "E", "..-.": "F", "--.": "G","....": "H", "..": "I", ".---": "J", "-.-": "K", ".-..": "L", "--": "M", "-.": "N","---": "O", ".--.": "P", "--.-": "Q", ".-.": "R", "...": "S", "-": "T","..-": "U", "...-": "V", ".--": "W", "-..-": "X", "-.--": "Y", "--..": "Z","-----": "0", ".----": "1", "..---": "2", "...--": "3", "....-": "4",".....": "5", "-....": "6 ...
HMVLabsTemperanceX00-10
x00运行所给的代码,socket连接之后直接得到flag
x01在第一关的基础上再额外发送一个字符串,添加
print('Receiving challenge.')data3 = s.recv(1024)print(data3)print('Envio reto')s.send(data3)
运行即可
x02需要全部大写
data3=data2.upper()s.send(data3)
x03运用base64库进行base64解码
data3=base64.b64decode(data2)s.send(data3)
x04字符串逆序
data3=data2[::-1]s.send(data3)
x05取倒数5个字符
data3=data2[-5:]s.send(data3)
x06len取到的是int,先str转成字符再encode成bytes来发送
data3= str(len(data2))print(data3)s.send(data3.encode())
x07先进行hex解码转换为字节,再转换成ascii字符
data3= bytes.fromhex(data ...
24-6杂谈
6月的前期还是比较闲比较摆烂的,然后开始打的闽盾和ciscn的那个周末还是比较累的,高强度,但也比较开心。收获颇多,最后的结果仍不太满意。java,nodejs等等还需要进一步地学习。打完就一直摆烂了,直到期末考前才开始复习(心虚。然后还再考虑和纠结hvv的事情。6月筹备的新的曲子还是比较满意的,7月大概能够完成吧,这个博客也开了一年了。7月再见吧
PrototypePollutionTHM
Introduction在网络安全这个令人激动的世界里,黑客和渗透测试人员四处寻找漏洞,一个不断发展的概念被称为原型污染。这允许不良行为者操纵和利用 JavaScript 应用程序的内部工作原理,并使攻击者能够访问敏感数据和应用程序后端。
虽然原型污染最常在 JavaScript 环境中讨论,但该概念可以应用于使用类似基于原型的继承模型的任何系统。
然而,JavaScript 的广泛使用,特别是在 Web 开发中,以及其灵活而动态的对象模型,使原型污染成为这种语言中更突出和更相关的问题。相比之下,基于类的继承语言(如 Java 或 C++)具有不同的继承模型,其中类(对象的蓝图)通常是静态的,并且在运行时更改类以影响其所有实例并不是常见的做法或简单的任务。
学习目标通过本课程,您将全面了解以下关键概念:
原型污染的工作原理对 Web 应用程序的潜在风险利用技术(客户端和服务器端)缓解技术
学习前提条件建议在开始本课程之前了解以下主题:
网站的工作方式HTTP 协议和方法OWASP 十大 Web 漏洞
Essential Recap在我们深入讨论原型污染等高级内容之前,让我们先了解 J ...
XXEInjectionTHM
IntroductionXXE(XML 外部实体)注入是一种利用应用程序 XML 输入中的漏洞的安全漏洞。当应用程序接受包含 XML 本身中的外部实体引用的 XML 输入时,就会发生这种情况。攻击者可以利用此漏洞泄露本地文件、发出服务器端请求或执行远程代码。
鉴于 XML 在 Web 应用程序中的广泛使用,特别是在 Web 服务和基于 SOAP 的 API 中,这些漏洞的严重性不容小觑。
目标
认识与 XXE 注入相关的基本概念和危险。
识别易受攻击的 XML 处理配置和实践。
开发用于检测、利用和缓解应用程序中 XXE 漏洞的技术。
先决条件
了解 XML 文档的结构,包括标签、属性和实体引用。
熟悉 Web 应用程序如何处理输入和管理数据。
对 OWASP ZAP 或 Burp Suite 有基本了解。
Exploring XML什么是 XML?XML(可扩展标记语言)是一种标记语言,源自 SGML(标准通用标记语言),与 HTML 所基于的标准相同。应用程序通常使用 XML 以人可读且机器可解析的格式存储和传输数据。它是一种灵活且广泛使用的格式,用于在不同系统和应用程序之间交换数 ...
