Django 报错 'WSGIRequest' object has no attribute 'data' 的一个解决方法
报错截图
报错描述
之前写Django后台的时候没遇到过这个bug,是今天写项目才遇到的bug
报错分析
看报错,是出在一个自定义的权限认证函数中,在仔细看看报错,发现是后台登录使用了自定义的权限认证类
在Pycharm中用 Ctrl + shift + N 输入文件地址,找到这个文件__init__.py的77行对应的函数调用,
再 Ctrl + 鼠标左键 点击查看 这个backend从哪里来的
现在可以看到,这个_get_backends函数很可疑,我们再跳转看一下
到这里真相水落石出了,
get_backends函数从settings的AUTHENTICATION_BACKENDS里面寻找权限认证类,然而我忘了添加自带的权限认证类,只有我自定义的权限认证类,所以这个函数就使用了自定义的权限认证类。
解决方案
添加 django.contrib.auth.backends.ModelBackend 即可解决问题
一丢丢心得
暑假写的项目,可以说通过这个项目,对Django有了更深入的了解,也学会了往底层找问题,重写某些类的方法,之后浅浅分享一下Pycharm写Django的心得吧。
最后想说,写这个项目好难,又好累,还是好好学习吧。
算法笔记①——快速排序and归并排序and二分查找
浅浅记录一下,学的快排与归并与二分。视频地址:第一章 基础算法(一) - AcWing
快速排序听名字就知道是很快的算法,听了y总深入浅出的解释,我对于快速排序的理解进一步加深了。在大一上的计导课里,有一个实验就是让我们用人体计算机的方式实现快排。当时,不记得是王老师还是助教说只能使用单指针的快排,然后我琢磨乐好久也没搞明白该怎么排,后面半推半就做完了那个实验。之后,快排就忘得一干二净了哈哈哈哈。现在听了y总的课,我总结出了以下几个要点,记住这几个要点,可以更容易背住模板。
当递归到最底层,只有一个元素的时候,是不用排序的,所以此时直接return即可,这也是递归的出口,判断条件就是左边界是否大于右边界。
选取一个分界的数,可以选数组里任何一个数,第一,最后,中间都可以,看情况
选取左右指针时,要选在两个指针的外边;左指针就在左边界减一处;右指针在有边界加一处。
对于一次快排,原理就是使所有比 X(选定的数)小的数在X左边;所有比X大的数在X的右边,所以套一层while循环,判断条件是两指针是否相遇。
然后两个指针开始移动,左指针往右移动,遇到第一个比X大的数停下;右指针同理。
两个指针停下后,如果没相遇,就交换两个数。
然后分成两个区间,再递归使用快排。
快排模板
123456789101112131415161718192021222324252627282930313233343536#include <iostream>using namespace std;const int N = 1e6+10;int q[N];int n; void quick_sort(int q[],int l,int r){ if (l >= r) return ; //递归出口 int i = l - 1; //左右指针 int j = ...
记录一些M1卡密钥计算方式和校验位计算方式
前言最近这两年陆陆续续收到一些M1卡的数据,每次简单滴破解了一下之后感觉挺有意思的,但是害怕以后没过多久就忘记了,所以打算以我能看懂的形式浅浅的记录一下。
密钥算法算法一这是个非常非常非常简单的算法,只涉及到了异或
UID和Key的映射关系如下图:
具体算法:
u2 XOR 12 = k1u4 XOR A5 = k2u3 XOR 34 = k3u4 XOR AB = k4u2 XOR 6A = k5u1 XOR 36 = k6
u1,u2,u3,u4分别对应UID的第一,第二,第三和第四位,k1-k6分别对应Key中的第一到第六位。
一些数据
算法二这个算法是某个学校的水卡的密钥算法,可以说算是非常地复杂了,当时花了一个星期才破解出来。这个对应关系有点复杂,每一位的第一个和第二个数字有其单独的对应。
UID和Key的映射关系:
每一位Key的算法都有点复杂,比如
Key1以这个为原像,建立k1的映射
映射之后如下:
这里我们设第一个数字为a,第二个数字为b,则k1的算法可表示为:
a XOR 1 = 第一位数字
(30 - b) % 16 = 第二位数字
这算是6位key中最简单的一个了。
Key2由原像映射的像如下
算法:
如果 0 <= b < 7:
则 (20 - a) % 16 = 第一位数字
如果 7 < b < 16
则 (19 - a) % 16 = 第一位数字
b XOR 1 = 第二位数字
Key3映射关系
算法:
如果 0 <= b < 7:
则 ((a + 1) % 16) XOR 5 = 第一位数字
如果 7 < b < 16
则 a ...
校园网安全问题
起因信息安全实在是太重要太重要。不过,在疫情时代下,公民个人隐私信息泄露已经是家常便饭了,今天,来给大家看看,通过合法手段(指在通知群里面拿到的数据),获取到的个人隐私数据,能反映出什么问题。
关于校园网校园网大伙都不陌生,有些是学校自己搭的,有些是外包给运营商来做的。今天我们故事的主人公——某某大学,有自己的校园网,但是这个校园网,有一个问题。就是校园网的默认账号是学生的学号,密码则是学生本人的身份证号后六位。乍一看,这也没什么,起码默认密码不是123456。但就是这样的设计,造成一个问题。学生会认为:别人又不知道我的身份证,所以我直接用身份证后六位这个默认密码,很安全呀!然而,正式这种想法,让许多人的校园网账号在裸奔。
关于信息泄露进入疫情时代以来,人们开始大规模的使用许多的线上在线文档,办公协作,还有视频会议软件。这些软件在大大方便我们生产工作的同时,也为我们埋下不小的信息安全隐患。举个最常见的例子,很多在线填写信息的excel表格,往往是多人在同一个界面填写信息,这其中有些是敏感信息,比如学号,身份证号,手机号等。如果有人别有用心,这些信息就会被他们收集起来,拿去做一些坏事。这就是说者无心,听者有心。但大多数情况下,许多的信息泄露都是发送文件的人,为了图省事,就直接把整个包含所有人的信息的excel表格直接发出去了,这也是今天这个故事的起因——用各种通知群里面发出来的文件,获取到身份证号,学号等个人信息,然后使用Python的小爬虫进行模拟登录,找出某某学院的21级新生中有多少人校园网还在用默认密码(身份证后六位)。
测试回放首先呢,在年级的大群里,俺们辅导员曾由于失误,一不小心把整个学院(四个年级+所有研究生)本科生和研究生的个人信息(包括学号,手机号班别年级等)都给发出来了。很快地,辅导员就撤回了。但是呢,我的QQ是装有QX模块的,里面有个防撤回功能,然后我当时 ...
网络破防实践先导实验四————XSS攻击
前情回顾终于一路跌跌撞撞,终于来到了网络破防这门课最后一个实验,这次这个实验的可以说四个实验之中最简单的,我只花了不到一个小时就搞定了。
XSS介绍首先,什么是XSS攻击呢?
XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容。 ——摘自百度百科
我的理解就是,利用一些输入框,然后输入一些能产生特效果的语句,让网页执行你需要的代码,以达到攻击的目的。
网页一般用的html,如果输入的内容没有进行转义,在输出的时候有可能会变成网页html的一部分,像这种
反射型XSS
除此之外,还有DOM Based XSS
DOM Based XSS
XSS的过滤和绕过XSS攻击是一种很常见的攻击方式,所以很早就有了各种各样的防护方式。但是道高一尺,魔高一丈,XSS攻击也有许多绕过方式,如下:
闭合引号、标签
关键字过滤
编码绕过
宽字节绕过
其他技巧绕过
关于每种技巧:
闭合引号、标签
关键字过滤
编码绕过
宽字节绕过
其他绕过
实验过程Target 1Target1比较容易,直接输出即可,
1<script>alert(document.cookie);</script>
Target 2Target2需要先把第一个a标签给结束了,才可以写自己代码,先随便输点东西看看输出的格式,
可以看到,输出的内容是在一个a标签的herf属性 ...
网络破防实践先导实验三————用DLL注入实现扫雷外挂
关于这次实验在完成了前两个炒鸡炒鸡炒鸡炒鸡炒鸡炒鸡难的实验之后, 老师终于兑现了承诺——后面的实验不会太难。这个扫雷外挂实验非常滴简单,前前后后从写程序到写实验报告只花了三个小时,但是整个实验还是非常有意思的啊。
前置知识在开始做实验之前,先介绍一点前置的知识:
Windows消息传递机制简单解释一下:
消息机制也很好理解,就是Windows的应用程序,硬件,软件都会在交互的时候发送消息,一条消息里面可能包含许多信息。哎呀大概就是这个意思,详情可以看这个。
DLL文件
DLL即动态链接库(Dynamic-Link Library)的缩写,相当于Linux下的共享对象。Windows系统中大量采用DLL机制,甚至内核的结构很大程度依赖于DLL机制。Windows下的DLL文件和EXE文件实际上是一个概念,都是PE格式的二进制文件。
DLL属于动态链接,一般在加载时动态链接或者运行时动态链接。DLL文件可以在程序执行的任意时刻注入以完成自己的需求。
DLL注入实现扫雷外挂首先,先配置一下环境,下载个VS,勾选必要的组件,然后新建一个DLL工程,写一个监听键盘监听的函数
其中FindWindowA里的两个参数就是扫雷游戏窗口名称和属性:
获取扫雷窗口名可以用微软官方的spyxx工具,使用起来也是很简单,打开之后,找到那个望远镜,然后再瞄准镜拖过去,就可以找到窗口的名称和属性了
接下来,就可以开始写DLL注入了。我们都知道,数据是存在内存中的,只要我能读取扫雷中内存存储的那一块内存,就可以知道地雷的位置,然后再配上模拟点击,就可以一键扫雷了嘎嘎嘎。
分析扫雷想要扫内存,可以用经典的辅助工具 Cheat Engine,从名字就可以看出这是一个拿来作弊的工具力。经过一顿简单的操作,我很容易就找到了雷区在内存的分布。
经过简单的分析就可以知道:
10是雷区的边界,包裹住 ...
东滨路249号的回忆
东滨路249号的回忆:
好好考试,想朋友,想肥家啦
今天看见好多学校的共享文档
心想着咱浦中也要来一个⑧ 没有人弄的话就我来
人离开了浦中才懂得那段时光的美好与珍贵
所以大家就在这里分享关于浦中的回忆吧!
希望这个共享文档可以成为大家的一个心灵港湾,累了就来这里看一看,聊一聊,拒绝emo!
欢迎浦中学子激情转发!
洁己以进,反身而诚
回忆录规则:为方便阅读,每一个话题前用“**# 话题”式,同时加粗斜体14号字,想到其他的话题大家也可以自行添加;回复时,统一用12号字**,Re加内容,如:Re:回复内容;如果你想附上自己的名字,可以在Re后面加上括号,如:Re(苏总):回复内容”
还有还有,文明用语!适度调侃!不要人身攻击!
不要随意篡改别人的编辑内容!!
互联网不是法外之地!
编辑的时候尽量小心一点,不要手滑了嗷
可以插入图片噢~
现在文档录下了炒鸡多浦中的回忆,想方便查找的话
手机查看可以点击右上角的三条杠里的
“显示目录”更加方便快捷哦
目录参考2021.12.27:
# 大家现在在干什么?Re:为了明年再一次机会,体检
Re(同下):找不到刚才的,再来一次。迎着桂林的妖风跑步(╥╯^╰╥)
Re(人在天津):刚回到柳州跟女朋友耍 ̄  ̄)σ
Re(人在桂林):在图书馆泡着复习工程力学和电路分析,下两周还有电工实习,害怕卵蝶
Re(丁字尺战士):我先来!人在成都,现在在敲论文。
Re(人在民大):正和我的小宝贝约会呢
Re (海大学牲):人在青岛,现在还在睡觉哈哈哈🥳外面太冷了
Re(为人民服务):上海的冬天终于来了,手都要冻麻了,虽然只下了三分钟的小雪花,但在上海这个地方,能看见雪也是一件令人兴奋的事情 ...
eprime实验注意事项
z咱就是说,写个注意事项,方便调试程序,还能避免很多问题。这个链接一直都有更新,有问题随时来这里查
1.开始实验之前记得切换输入法至英文不然实验跑起来之后,点击键盘会会弹出输入法
2.点击空格不能太快因为记录RT(Response Time)是从麦克风图标出现后才开始记录的,如果受试在麦克风图标出现之前就点击,则会记录不上RT,这种情况在视觉刺激组特别容易出现,可能需要提醒受试。
3.系统录音机打开方式点一下Win图标或者Win键
搜索 “ voice ”
打开即可(录音机打开又一点点慢,需要耐心)
4.强制终端实验方法Ctrl + Alt + Shift,这样子中断实验会导致数据记录不上
5.实验结束后要收集的数据如图,在程序文件夹下:
每次做完一个人,最好就把这俩份东西拷贝出来,然后再删掉原来的这两个,再进行下一个实验,否则如果实验者输错序号会把数据覆盖掉的,,,
6.实验前给受试分配好编号,并监督受试输入正确的编号这样能防止数据与人的录音不匹配
7.运行EPrimer出现“Your system is in violation of the license agreement”错误
原因:是破解版到期了,需要重新破解一下
解决方法:关闭Eprimer,然后打开安装Eprimer的文件夹,双击e-prime2.0.reg
e-prime2.0.reg
然后会弹出一个弹窗,点击“是”即可
然后再重新双击实验文件开始运行
IC卡金额算法破解的一次尝试
时隔快一年,终于想起来要更新IC卡算法破解的第二期了。之前第一篇关于水卡密钥算法的破解那篇博客,还是我高三时候写的了,现在大一了,写出的东西也会不一样了。这次会介绍的详细一点了。
第一篇博客传送门:IC卡秘钥算法破解的一次尝试,不过那也只是我高中时候对水卡密钥的理解,现在已经不一样了。OK,现在我来介绍我最近一次,帮别人研究水卡金额的算法的一次尝试,感谢@W提供素材。
警告:本文仅供学习讨论使用,请勿拿去进行其他不法用途,出什么问题,本人概不负责。
0x0.前言本来没打算写金额篇的,因为高中那会,能力有限,还不能很了解金额算法的一些原理。现在大学了,不在高中,数据也拿不到了,也写不了。但是天无绝人之路,感谢**@W老铁给我提供了数据,让我得以完成水卡算法的第二个部分——金额篇**
0x1.数据准备这次的数据,可以说是非常的详细,而且数据量也很大。据不完全统计,足足有78条金额数据!!!这么大的数据量,给我的破解提供了很大的便利。
0x2.开始破解算法拿到数据后,大概了解了一下数据的分布的格式,发现其格式是非常有规律的,如下:
前面四位是存储金额的地方,理论最大值是FFFF,也就是655.35元。
中间四位是刷卡次数
后面四位是校验位,也就是本次破解算法的重点
知道了要破解的数据后,就到了分析数据的环节,这时候就需要大量的数据了:
密密麻麻的数据(晕),这次的数据比较规整,这很利于我们进行数据分析。还记得当时,上C艹课的时候,太无聊了,就在研究这个数据,当时的我还是抱着之前密钥算法破解的思维来尝试破解这个金额算法,这个思维有好处,也有坏处。好处就是我很容易就知道从哪里入手分析,坏处就是,看问题不够全面。不过这些都是正常问题啦。OK,回到主题。
我一开始发现的是后四位的第二位和第四位数字的和,是一个定值——8,例如:
9147 :1 + 7 = 8
89 ...
记录一次和键盘侠的正面硬刚(利用社工库+某些接口)
本来这几天都没啥时间和心思写博客的,但是呀这几天发生了一些有意思的事,让我有了写博客的素材(其实还是我自己想写辣XD)。
就是,前两天,在高中的表白墙下面有一个牛马(这不是我骂人,是它本来的ID就是🐂🐎),在那里骂人,我呢,和几个同学在那里输出DK它。
然后,我方一号输出——军委主席LYG,一鼓作气扛起了输出的大旗,给了对方精确的打击,对方急眼了,遂在评论区下和军委主席互相输出,但是它文化水平,可能不够高。
脏话,人身攻击啥的一大堆,非常恶心,这时表白墙君(以下简称墙)看不下去了,遂删评。然而,那个牛马并不死心,在墙的最新一条动态下,直接对易烊千玺进行了人身攻击。
军委主席看不下去,遂开始冲锋。在主席带领下,我们九班势力开始冲击这个牛马。
而我,刚好最近这几天有稍微研究研究社工库的一些东西,所以打算利用社工库来搞这个牛马一波,于是便有了这篇博客。
1. 利用社工库进行QQ反查SJH这个牛马的QQ,看了一下,只有一颗星(也就是一级)看起来是小号,不过也可能是隐藏了等级信息之类的,因为它设置了不可被搜索到,所以得用一个接口才能查询到它的资料:http://api.avak.cn/fqq/?qq=430892126
想要从这个QQ号找到一些信息,先从社工库入手。
首先呢,打开TG,找到红鼻子bot,发送想要查询的字段,就能查询到结果了:
2.通过手机号查询相关信息可以看到,查到了一个绑定的手机号,但是。由于社工库中被泄露的Q绑,可能是很久之前的了,真实性也许不高,所以还得验证一下这个手机号是不是那个牛马用过或者曾经用过的。
查询一下这个手机号的一些关联信息
可以看到,这个手机号应该也很久没有使用了,应该不是牛马现在正在使用的手机号,想要知道现绑,可以通过忘记密码来看看手机号某几位:
看来,查出来的只是旧绑而已,现绑是很难查出来了。
唯一的办法,只能假定这个牛马是我们 ...













