Python实现验证码发送
APP、⽹站注册账号,向⼿机下发验证码; 登录账户、异地登录时的安全提醒; 找回密码时的安全验证; ⽀付认证、身份校验、⼿机绑定等。本例采⽤阿里云短信验证
开通阿里云短信服务登录控制台阿里云:https://www.aliyun.com/
登录阿里云后点击右上角的控制台,点击阿里云logo旁边的菜单按钮,选择””产品与服务”,在搜索框输入”短信”,在”云通信”列表中点击”短信服务”进入短信服务控制台
开通短信服务首次进入短信服务阿里云会提示你开通短信服务,短信服务按量收费,你不用就不会收费。
申请签名个人用户只能申请一个签名,审核时间过长(2小时左右),我没法做演示。
进入控制台后选择”国内消息”,之后选择签名管理,点击添加签名按照要求填写内容即可,签名名称要是有个准确的应用名称,不能出现测试之类的词汇。
审核通过的签名
申请模板模板是你短信内容的格式,格式为:【签名名称】模板内容
进入控制台后选择”模板管理”,之后点击”添加模板”,按照填写要求填写模板即可,”${code}”是有个验证码变量,”code”是变量名,调用的使用要对应你得模板变量名。
创建AccessKey ...
Django模型学习
模型使用流程
配置数据库
定义模型类
激活模型
使用模型
数据库配置Django默认使⽤的是sqlite,但在⽣产环境中⼀般会⽤mysql、postgrsql、oracle 等关系型数据库。
在开发环境中,安装mysql的数据库驱动mysqlclient,mysqlclient是连接mysql的驱动,不能提供数据库服务,需要单独安装mysql。
1pip install mysqlclient
在项⽬的 settings.py ⽂件中找到 DATABASES 配置项,将其信息修改为:
12345678910DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', #mysql数据库引擎 'NAME': 'test', #数据库名 'HOST':'localhost', #数据库服务器地址 'USER': 'test ...
Django晋级学习
Django 带参数的路由path对象Django使用path对象来定义路由列表,path有四个参数:
模式串:匹配用户请求路径的字符串
视图函数:匹配上用户请求路径后调用的视图函数
kwaergs:可选参数,需要额外传递的参数,是一个字典
名称(name):给路由命名,在代码中可以使用name进行方向解析(由name获取用户请求路径)
当path中模式串不能满足你的路由规则,还可以使用re_path对象,re_path对象中模式串是正则表达式,其他三个参数和path对象一致。
path注意
Django从上往下进行匹配,一旦匹配成功就返回
一个视图函数可以有多个模式匹配
模式前面不需要加’/‘
如果匹配失败,则引起异常,Django会调用错误处理视图函数(关闭DEBUG模式)
path匹配规则
str 字符串参数可以匹配除/和空字符的其他字符串
int 匹配0和整整数,视图函数的参数将得到一个整型值
slug 匹配由数字、字母、和_组成的字符串参数
path 匹配任何非空字符串,包括/
str写法:path('user/',inc ...
Django基础学习
Django 简介基本介绍Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架。
使用 Django,只要很少的代码,Python 的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的 Web 服务 Django 本身基于 MVC 模型,即 Model(模型)+ View(视图)+ Controller(控制器)设计模式,MVC 模式使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。
低耦合
开发快捷
部署方便
可重用性高
维护成本低
…
Python 加 Django 是快速开发、设计、部署网站的最佳组合。
特点
强大的数据库功能
自带强大的后台功能
优雅的网址
MVC 与 MTV模型MVC 模型MVC 模式(Model–view–controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。
MVC 以一种插件式的、松耦合的方式连接在一起。
模型(M)- 编写程序应有的功能,负责业务对象与数据库的映射(ORM) ...
GreenOptic:1 writeup
原文地址:https://www.infosecarticles.com/greenoptic-1-vulnhub-walkthrough/
初始枚举确定IP后直接使用nmap扫描靶机,通过别名设置nmap快捷扫描
123456vim ~/.bashrc# some more ls aliases 增加行,输入下面内容alias nmap='nmap -A -p- -v -T4 -oA nmap':wqsource ~/.bashrc# 使用nmap IP即可实现nmap -A -p- -v -T4 -oA nmap IP
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647root@kali:~/桌面/vulnhub/greenoptic# cat nmap.nmap # Nmap 7.80 scan initiated Sun Sep 27 16:28:40 2020 as: nmap -A -p- -v -T4 -oA nmap 192. ...
hacknos:os-hax writeup
通过rp-scan -l命令发现靶机IP,对靶机进行靶机扫描:nmap -A -v -p- -oA nmap 192.168.10.61,开放两个端口对80进行目录扫描,发现wordpress目录,直接访问wp-admin发现重定向到localhost;嗯?这是搞什么飞机,修改localhost指向靶机IP,wpscan扫描发现一个web用户,爆破失败;没有发现插件和主题漏洞。注意:需要注释掉第一行才能生效网站根目录像个cms,继续进行扫描,刚刚出现wp目录就停止了,后来发现了个img目录的文件很有意思,打开是一张hosts截图,应该是叫我们修改本地hosts。现在到本地使用exiftool分析图片,发现一个passw@45关键词,尝试wordpress登录和ssh登录,都失败了。后来通过加入字典扫描发现是一个目录,拿到flag2.txt。
打开后是一段密文,有点熟悉,但不知道叫什么,通过百度”ctf加密算法”关键字找到文章发现是brainfuck加密,解密后得到web用户密码,登录wordpress后修改主题404页面拿到webshell。但是构造路径有点麻烦,这里打出来方便以后用: ...
TYPO: 1 Writeup
开机显示IP,直接Nmap扫描:nmap -A -p- -v -T4 -oA nmap 192.168.10.59发现开了4个HTTP协议的端口,还有一个22端口,对http协议端口进行url枚举,8080端口发现一个phpinfo:http://192.168.10.59:8080/phpinfo.php8081端口发现一个phpmyadmin:http://192.168.10.59:8081/phpmyadmin/80端口发现一个typo3 cms:http://192.168.10.59/typo3/对phpmyadmin进行root:root弱口令登录,结果登录成功了。登录后发现是phpmyadmin版本是5.0.2,搜索phpmyadmin的getshell,但最后都没能成功。
继续找typo3的用户表,但这个加密奇怪,直接进行替换。百度搜了一个typo3搭建到本地,用也知明文的密文替换靶机的密码,成功登录到后台。(后来我发现直接使用openssl生成一个密码也可以)写博客前偷瞄师傅的wp说argon2id这个是一种加密方式,在线网站:https://argon2.onli ...
FUNBOX: EASY Writeup
信息收集描述上说有很多兔子洞,我没怎么踩,唯一的坑就是在提权到用户的踩了。靶机IP:192.168.10.58Kali:192.168.10.12
nmap扫描:nmap -A -p- -T4 -v -oA nmap 192.168.10.58开放端口:22 80 33060
先dirb扫描目录,发现了几个有用的目录,先访问robots.txt,看到了gym目录
通过搜索发现了gym是健身管理系统并存在一个文件上传漏洞,执行的脚本无果,应该是兔子洞,继续看其他目录。
admin目录打开是一个后他界面,尝试了弱口令无果,继续看secret和store目录。终于在store看到了希望,看到了一个pubid参数,尝试sql注入。
输入单引号后爆出sql语句错误,上sqlmap跑。
最后得出store库admin表的账号密码,使用帐号密码登录store后台。
在编辑书本信息处找到了文件上传页面,尝试上传webshell。
webshell上传成功,没有任何过滤,nc监听端口,去网站刷新一下拿到webshell。
权限提升在tony用户家目录找到一个password.txt文件,ssh: yxc ...
funbox: rookie Writeup
信息收集靶机IP:192.168.10.57Kali:192.168.10.12
先使用nmap扫描:nmap -T4 -v -p- -A -oA nmap 192.168.10.57开放端口:21 22 80习惯性dirb发现一个logs,访问是404,看到ftp能匿名访问,登录发现类似用户名的压缩包,全部get到本地。
压缩包破解下载后先阅读.@admins、.@users、welcome.msg。发现.@admins类似base64使用echo 'SGkgQWRtaW5zLAoKYmUgY2FyZWZ1bGwgd2l0aCB5b3VyIGtleXMuIEZpbmQgdGhlbSBpbiAleW91cm5hbWUlLnppcC4KVGhlIHBhc3N3b3JkcyBhcmUgdGhlIG9sZCBvbmVzLgoKUmVnYXJkcwpyb290' |base64 -d解密后发现没什么东西,和.@users类似。还发现压缩包大小都是一样的,使用zip2john取出全部压缩包的hash:zip2john *.zip >> hash然后使用john破解ha ...
html+css前端学习
Emmet语法Emmet是什么Emmet语法的前身是Zen coding,它使用缩写来提供html/css的编写速度,vscode内部已经集成了改语法。
生成html结构语法1、生成标签:直接输入标签名后按tab键(回车键)补全标签2、生成多标签:输入”div*3”生成三个div标签3、父级标签:输入”ul>li”能生成一对ul标签 “ul>li*10”生成10个li4、同级标签:使用+号链接 “div+p”5、包含类名:”标签名.值”生成带class属性的标签,属性值为”值“,默认div标签6、包含ID:”标签名#值”生成带id属性的标签,属性值为”值“,默认div标签7、自增长:使用$符号来实现数字自增长,和*配合使用”.demo$*10”8、生成文字:使用{}来包含文字,被包含的文件会写到标签中”div{Hello}”
生成css样式语法生成CSS使用缩写即可,比如w100/h100即可;以font-size为例,可以输入fsz,fns也可以,只要是包含缩写的样式都会显示出来,如果有多个就在写一个字母。
格式化代码vscode中提供了标准html+ ...