2.安全牛PHP代码审计:代码审计的思路及流程
笔记
审计思路 MC是一种使用MwC( Model View Controller模型-视图控制器)设计创建Web应用程序的模式。MVC模式同时提供了对HTML、CSS和 JavaScript的完全控制
Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。表示应用程序核心(比如数据库记录列表),通常模型对象负责在数据库中存取数据。
view(视囯)是应用程序中处理数据显示的部分。显示数据(数据库记录),通常视图是依据模型 数据创建的。
Controller〔控制器)是应用程序中处理用户交互的部分。处理输入(写入数据库记录),通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
常见的PHP框架
ThinkPHP文档全中文,易上手,对于配置环境没什么要求。
Yaf,据说是世界上最快的php框架,不少大公司的项目都是在此基础上再开发,用C写的扩展,安装的时候得编译,有点麻烦,需要自己造很多轮子。
Caravel这两年非常火,内置的用户权限和 blade模板用起来很方便。文档有中文有英文,遇到问题能从stackoverflow上找到不少答案。
ohana文件系统 ...
python迭代器
在学习爬虫的时候认识到到迭代我就顺便记录下面
什么是迭代
for遍历就是迭代
for循环能遍历的就是可迭代,不能遍历的就是不可迭代
for循环是怎么判断他是可迭代的,一个可迭代对象都有一个 __iter__() 方法,就是里面有__iter__() 方法,就是可迭代
迭代的基本演示
比如下面这个代码就是可迭代
123a = [1, 2, 3, 4]for i in a: print(i)
结果
12341234
下面是不可迭代
12for i in 123: print(i)
结果
1234Traceback (most recent call last): File "/home/zss/a.py", line 1, in <module> for i in 123:TypeError: 'int' object is not iterable
判断是否是可迭代可以用collections.abc模块里面的Iterable
1234567from collection ...
ranger配置和使用
ranger配置和使用总结
效果图
ranger介绍 他是一个终端文件管理器
项目地址https://github.com/ranger/ranger
下载安装我的系统是kali linux,用的环境是kde
1apt install ranger
配置安装好你可以看一下~/.config/ranger配置文件是空的
运行这个命令复制配置文件到主目录:
1ranger --copy-config=all
运行上面的命令就会有4个文件
主要配置文件
作用
commands.py
包含以Python编写的各种函数的实现,用于修改rangers行为
rc.conf
用于设置各种选项并将按键绑定到功能,就是设置快捷键
rifle.conf
决定使用哪个程序打开哪个文件
scope.sh
是一个shell脚本,用于生成各种文件类型的预览
plugins文件夹
这个文件夹要自己创建用于添加插件
添加文件管理器图标没有添加
添加了
安装图标下面两个命令就安装好了
12git clone https://github.com/al ...
python正则表达式
爬虫学习记录
下面会用到到网站https://regex101.com/
正则表达式的函数python提供了一个re模块这个模块提供了很多的方法和函数
match()函数使用方法他的格式,他有三参数,这个函数会从起始位置进行匹配如果匹配失败就返回none
1re.match(匹配的正则表达式, 要匹配的字符串, 可选参数标志位控制匹配的比如是否区分大小写等)
正则表达式修饰符 - 可选标志
修饰符
描述
re.I
使匹配对大小写不敏感
re.L
做本地化识别(locale-aware)匹配
re.M
多行匹配,影响 ^ 和 $
re.S
使 . 匹配包括换行在内的所有字符
re.U
根据Unicode字符集解析字符。这个标志影响 \w, \W, \b, \B.
re.X
该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解。
实测匹配错误返回代码
123456789import rea="babc"b="abc def ghi"# a和b进行匹配,前面多一个b不匹配c=re.match(a,b ...
Docker安装pikachu靶场搭建
项目地址https://github.com/zhuifengshaonianhanlu/pikachu
Pikachu上的漏洞类型列表如下:
Burt Force(暴力破解漏洞)
XSS(跨站脚本漏洞)
CSRF(跨站请求伪造)
SQL-Inject(SQL注入漏洞)
RCE(远程命令/代码执行)
Files Inclusion(文件包含漏洞)
Unsafe file downloads(不安全的文件下载)
Unsafe file uploads(不安全的文件上传)
Over Permisson(越权漏洞)
../../../(目录遍历)
I can see your ABC(敏感信息泄露)
PHP反序列化漏洞
XXE(XML External Entity attack)
不安全的URL重定向
SSRF(Server-Side Request Forgery)
管理工具
More…(找找看?..有彩蛋!)
下载1git clone https://github.com/zhuifengshaonianhanlu/pikachu.git
Docker安装进入下载好的目录c ...
setoolkit社工盗号
setoolkit工具使用总结
本人英语不好,下面大部分很多我都进行了翻译
安装setoolkitkali默认是安装setoolkit了的
其他的linux安装
项目地址https://github.com/trustedsec/social-engineer-toolkit
安装
1234git clone https://github.com/trustedsec/social-engineer-toolkit/ setoolkit/ #克隆库cd setoolkit # 进入下载的目录pip3 install -r requirements.txt # 下载依赖python setup.py # 安装
使用启动命令setoolkit
这个软件都是英文的我看不懂,下面是我好长时间的翻译,用的翻译软件翻译的,有的可能不准见谅
12345678910 1) Social-Engineering Attacks # 社会工程攻击 2) Penetration Testing (Fast-Track) # 渗透测试(快速跟踪) 3) Third Party ...
vmware安装Android-X86
记录一次vmware安装Android-X86的过程
下载地址https://www.android-x86.org/
启动VM
我想不会用vmware的也不会用vmware进行安装安卓下面我就演示一下他在虚拟机里面的基本的安装
如果我们选择系统的时候vmware他就会自动选择要安装适合的环境,
如果是vb可以这样选
安装选择第三个
选择第一个
选择ok后他会提示是否选择否
选择new
然后直接回车
等一会
选择第二个
启动有问题
修复
回车输入:mount -o remount,rw /mnt 重新加载/mnt为可写模式
修改文件vi /mnt/grub/menu.lst,添加上nomodeset,保存退出
重启问题解决
设置语言
参考https://www.cnblogs.com/Summer6/p/13696468.html
linux私房菜笔记
下面是我的总结
计算机概述CPU为一个具有特定功能的芯片里面含有指令集,运行要参考CPU的指令集。
指令集有两个
精简单指令集:就是运行简单的程序,时间短,性能差
复杂指令集:运行复杂,运行时间长,
CPU分为两个单元
算术逻辑单元
控制单元
电脑为什么叫X86,应为是CPU的代号,比如80286,又出来了新版本,80386等
电脑按用途分类
超级计算机(Supercomputer ):就是运行最快的电脑,国家使用
大型计算机(Mainframe Computer ):这个都是大企业用
迷你电脑(Minicomputer ):用于科研
工作站(Workstation),用于特定的环境使用
微电脑(Microcomputer ):个的笔记本和台式就是这个,
电脑的运算单位容量单位1位=8字节
速度单位CPU电脑是用的GHZ或者MHZ,hz就是每秒的处理次数
1GHZ=1000MHZ
个人电脑架构和相关配件
北桥:负责连接运行速度较快的CPU,显卡,内存等部件
南桥:负责运行较慢的,比如USB,网卡等部件
现在内存控制器集成到CPU里面后就CPU ...
python外星人入侵
笔记
创建一个窗口12345678import sys # 导入sys用于退出用import pygame # 创建窗口用# 窗口的宽长他是一个元组i=(1200,800)# 创建一个窗口screen=pygame.display.set_mode(i)
看一下运行结果,他只显示了,标题没有显示窗口啊]

显示窗口可以用pygame.display.flip()
代码
1234567891011import sys # 导入sys用于退出用import pygame # 创建窗口用# 窗口的宽长他是一个元组i=(1200,800)# 创建一个窗口screen=pygame.display.set_mode(i)# 绘制屏幕可见pygame.display.flip()
结果会很快就消失了









