web第二课
第二课一、PHP的基础知识1.PHP的基本概念php是一种脚本语言,和python脚本类似,不过它是执行在服务器上的,通过url访问后来解释执行。
执行python脚本的时候,是使用python githack.py -u 这种形式
而需要执行php脚本的时候,是直接访问http://www.xxx.com/index.php
※php是网站的一种脚本语言,文件后缀是php,用来写网站的,适合中小型网站的开发。
2.PHP的运行环境
PHPstudy
3.PHP的开发环境
VScode
4.PHP的基本语法①$_GET1234567<?php$b=$_GET['a'];echo $b;?>
$b是定义一个变量,它能保存一个数据,$_GET[‘a’]。
在php中,使用$GET来保存所有的get请求数据,$GET是一个数组,可以用索引名,也就是里面的a来标记要拿的数据,比如,$_GET[‘a’]就是拿的浏览器里面提交的a=b这个键值对的值,它会在url中寻找有没有a=b的提交,如果有,就把b的值拿出来给这个变量b。
?左边是文件, ...
C语言第六课
第六课一、数据类型1.浮点类型
类型
字节
范围
有效数字
float
32
±(1.20×10∧-38~3.40×10∧38),±inf,nan
7
double
64
±(2.2×10∧-308~1.79×10∧308),0,±inf,nan
15
类型
scanf
printf
float
%f
%f,%e
double
%lf
%f,%e
123456789#include <stdio.h>int main(){ double a = 123456; printf("%e,%f", a,a); return 0;}
输出:
1.23456e+05,123456
科学计数法
+1.11e+111
①可选的+或-符号
②小数点也是可选的
③可以用e或E
④符号可以是-或+也可以省略(表示+)
⑤整个词不能有空格
%.af 表示输出小数点后a位,这样的输出是做四舍五入的。
3.超过范围的浮点数和精度printf输出inf表示超过范围的浮点数:±∞
printf输出n ...
C语言第五课
第五课for循环1.阶乘n!=1×2×3×4×5×…×n
输入n,输出n!
12345678910111213141516171819#include <stdio.h>int main(){ int n; scanf("%d", &n); int fact = 1; int i = 1; while ( i<= n) { fact *= i; i++; } printf("%d!=%d\n", n, fact); return 0;}
等同于
123456789101112131415161718#include <stdio.h>int main(){ int n; scanf("%d", &n); int fact = 1; int i = 1; for ( i= ...
C语言第四课
第四课一、循环1.while循环正整数的位数
while
1234567891011121314151617181920#include <stdio.h>int main(){ int x; int n = 0; scanf("%d", &x); n ++; x /= 10; while ( x > 0 ) { n ++; x /= 10; } printf("%d", n); return 0;}
(可以处理0)
等同于
1234567891011121314151617#include <stdio.h>int main(){ int x; int n = 0; scanf("%d", &x); while ( x > 0 ) { n ++; ...
C语言第三课
第三课一、判断1.if语句一个基本的if语句由一个关键字if开头,跟上在括号里的一个表示条件的逻辑表达式,然后是一对大括号“{}”之间的若干条语句。如果表示条件的逻辑表达式的结果不是零,那么就执行后面跟着的这对大括号中的语句,否则就跳过这些语句不执行,而继续下面的其他语句。
if语句这一行结束的时候并没有表示语句结束的“;”,而后面的赋值语句写在if的下一行,并且缩进了,在这一行结束的时候有一个表示语句结束的“;”。这表明这条赋值语句是if语句的一部分,if语句拥有和控制这条赋值语句,决定它是否要被执行。
常见的错误:
①忘了{}
②if后面的分号
③错误使用==和=
④使人困惑的else
12345678910111213141516171819#include <stdio.h>int main(){ const int pass=60; int score; printf("请输入成绩:"); scanf("%d", &score); ...
C语言第二课
第二课一、变量1.变量定义1int a = 0
定义了一个变量,名字是a,类型是int,初始值是0
变量是一个保存数据的地方,当我们需要在程序里保存数据时,就需要一个变量来保存它。用一个变量保存了数据,它才能参加到后面的计算中。
a=0是一个式子,这里的“=”是一个赋值运算符,表示将“=”右边的赋值给左边的变量。
所有的变量必须具有确定的数据类型。数据类型表示在变量中可以存放什么样的数据,变量中只能存放指定类型的数据,程序运行过程中也不能改变变量的类型。
C99可以在程序的任何地方定义变量,只要出现在这个变量第一次出现之前,ANSI C只能在代码开头的地方定义变量
2.变量形式变量的一般形式:<变量名称><变量名称>
3.变量的名字①变量需要一个名字,变量的名字是一种“标识符”,意思是它是用来识别这个和那个的不同的名字。
②标识符的原则:标识符只能由字母、数字和下划线组成,数字不可以出现在第一个位置上,C语言的关键字(保留字)不可以用做标识符。
※C语言的关键字(不用记,但要知道):auto,break,case,char,con ...
C语言第一课
第一课一、程序框架123456#include <stdio.h>int main{ return 0;}
注意分号
不要用中文
//为注释符 。注释插入在程序代码中,用来向读者提供解释信息。它们对于程序的功能没有任何影响,但是往往能使得程序更容易被人类读者理解。延续数行的注释,要用多行注释的格式来写。多行注释由一对字符序列“/*”开始,而以“*/”结束。
二、输出1printf("Hello World!\n");
1.“”里的内容是“字符串”,printf会把里面的内容原封不动地输出
2.\n表示需要在输出的结果后面换行
三、计算printf(“%d\n”,a+b);
输出为c(c为a+b的值)
%d说明后面有一个整数要输出在这个位置上
printf(“a+b=%d\n”,a+b);
输出为a+b=c(c为a+b的值)
四则运算
C符号
意义
+
+
加
-
-
减
×
*
乘
÷
/
除
%
取余
()
() ...
web第一课
第一课一、认识漏洞1.漏洞产生原理①设计缺陷
②逻辑错误
③代码bug
④越权漏洞
⑤其它漏洞
2.漏洞利用失能(低级):服务宕机
读取(中级):读敏感文件,数据库信息
写入(高级):篡改数据,提权,加密硬盘
执行(最高级):执行命令,内网渗透,反弹shell
3.做题思路①判断利用的漏洞方式是读取、写入还是执行。先找文件读取,再找文件写入,最后找命令执行。
②判断漏洞大概的类型或题目大概的考点,确定具体的利用思路,实现漏洞利用。
③寻找敏感数据,拿到最终flag。
二、漏洞利用之信息泄露1.信息泄露的类型信息泄露:
版本软件信息泄露:①.git②.svn③.hg④.bzr⑤CVS
敏感文件信息泄露:①robots.txt②www.zip③静态文件注释泄露
配置错误信息泄露:①.DS_Store②WEB-INF③Apache/Nginx错误配置
拿到敏感文件,只要结果,过程是谁,不熟不熟
2.信息泄露漏洞利用①http头信息泄露漏洞利用
<1>/admin/表示访问的是admin目录,会默认访问目录里面的索引文件
<2>/ ...
11月校赛wp
校赛wp一、web1.某真实渗透场景乱试,cat /flag试出来了
二、pwn1.真的nc上去就有flag了
2.ezintoverflow
三、re1.what_is_pyc不会脚本,手算
把每个数据-23
找一个在线异或66的网站解得数据
解ascll码得到flag
四、forensics1.芝麻开门!
https://www.cnblogs.com/WangwangDui652/p/15864799.html网站
md5解码
五、misc1.希尔伯特的微笑搜的
2.幸亏开着wireshark
搜的脚本
得到密码whereisyou(奇奇怪怪的英语)
解emoji表情码
(4条消息) cisco设备密码配置方法及加密方式详解_Ryuka-fly的博客-CSDN博客网站
得知加密方式为type 7
解password7得flag
3.啊吧啊吧
4.Sign Sign Sign
5.Pixels In Picture
放大原图发现有像素点,想到可以放到Stegsolve看
看不清啊(瞎了)
这时意识到我可以把像素点提取出来
但是我不会写脚本啊_(: ...
第一篇文章
这是我的第一篇文章!