WEB
文章平均质量分 74
程序小黑
这个人很懒,什么都不想说。。
展开
-
Django 学习 Day10
也就相当于是别名就是我们的参数中的结果变量名的参数。聚合查询是指对一个数据表中的一个字段的数据进行部分或全部的统计查询。差Book数据表中的全部书的平均价格、查询所有书的总数等都需要使用聚合查询。MyModel.objects.aggregate(结果变量名=聚合函数(‘列名’))直接使用MyModel.objects.raw()进行数据库的查询操作。因此,在sql语句的拼接参数中,通过参数化方式能够防范sql注入攻击。当我们没有使用参数化进行参数传递的时候,所有的书籍信息都被导出。原创 2022-12-30 10:07:52 · 741 阅读 · 0 评论 -
Django学习 Day9
但是如果用户id=1在多个银行同时存款时,会导致在get时他们的数据在分布式环境中是相同的,这就导致我们需要把这个余额变化的代码看成是一个整体。当在获取查询结果集使用逻辑或|或者是逻辑非~等操作时,可以使用Q对象进行操作。或者,利用F对象,可以查找在Book表中,price大于id的情况。通过F对象的帮助,我们能够较好的解决并发情况下的冲突问题。通常是对数据库中的字段的值在不获取的情况下进行操作。F对象能够很好的解决并发情况下对数据加锁的问题。一个F对象代表数据库中某条记录的字段的信息。原创 2022-12-28 09:20:34 · 519 阅读 · 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 · 860 阅读 · 0 评论 -
Django学习 Day7
首先,创建一个应用程序library,并在项目的配置文件settings.py中进行注册。制作一个页面,用于进行图书馆的书籍展示和管理,随后,修改models.py中的数据信息。在Django shell中插入书本数据。最后运行django,得到如下页面。在views.py中增加路由规则。在templates中设置模板对象。设置书本的id、书名和价格信息。原创 2022-12-26 09:18:06 · 121 阅读 · 0 评论 -
Django学习Day6
数据库中的django_migrations记录了migrate的全过程,项目中各个应用中的migrate文件应该与之相对应,否则migrate会报错。如果要对Teacher的对象数据进行修改,可以使用对象名.属性 = 值的方式直接对对象的内容进行修改,并通过save方式将数据保存到数据库中。每个继承自models.Model的模型类,都会有一个objects的对象被同样继承下来,这个对象叫做管理器对象。在shell中,对于studentapp应用程序中的models.py中的Student类的定义。原创 2022-12-22 12:45:19 · 688 阅读 · 0 评论 -
Django学习Day5
from django . db import models class 模型类名(models . Model) : 字段名 = models . 字段类型(字段选项)通过模型类的定义,就可以实现对数据库结构的增删改查,无需在mysql中敲击mysql的命令,极大程度的简化了开发的成本。字段选项字段选项是指创建的列存在额外的信息。模型类允许多个字段选项出现,多个选项之间使用,隔开。Primary_key如果设置为True,说明该列为主键,如果指定一个字段为逐渐,那么数据表不会创建id字段。原创 2022-12-20 09:47:50 · 350 阅读 · 0 评论 -
Django学习Day4
模型是Python的一个类,是由Django.db.models.Model派生出的子类。一个模型类代表数据库的一张数据表。模型类中的每一个类属性都代表数据库中的一个字段。模型是数据交互的接口,是表示和操作数据的方法和方式。原创 2022-12-16 11:33:21 · 553 阅读 · 0 评论 -
Django 第三天学习笔记
在变量输出时对变量的值进行处理。原创 2022-12-15 11:06:30 · 357 阅读 · 0 评论 -
Django第二天学习记录
由于在request中get和post都是通过GET和POST属性进行保存的,那么通过输出request中的GET和POST属性能够发现,输出的GET和POST信息都是字典信息。那么在这种情况下,我们能够发现,如果需要对用户的GET和POST请求进行分析,这是一个QueryDict的字典格式的数据,和正常的字典数据类型还不太相同。如果需要和模板层进行数据层面上的交互,那么可以尝试在页面中通过{{变量名}}进行对变量的定义,然后在视图层中对模板层的数据进行动态更新。从客户端的请求中获取相关的信息。原创 2022-12-14 09:54:10 · 484 阅读 · 0 评论 -
Django学习第一天记录
通过打开的命令,可以发现,在倒数第三行,有一行提醒,当前的Django版本号为3.2.16,且当前使用的配置文件为Demo1.settings,因此后续对django项目的配置文件的设置可以通过对Demo1.settings的修改作为对目标Demo的配置的修改。并提供了django的一些轻量化演示站点和社区的反馈渠道。那么局域网中其他主机对当前服务进行访问的时候,http请求中的host值将会和allowed_host中的白名单的值相对应,局域网中的其他主机也就能访问当前机器开放的django服务了。原创 2022-12-12 18:45:12 · 561 阅读 · 1 评论 -
关于mysql8.0打开外部链接的方法记录
百度上好多错的,这里放一个正确的修改外部链接和用户密码的方法进入配置文件 /etc/mysql/mysql.conf.d/mysqld.cnf修改绑定的IP地址:bind - address = 0.0.0.0随后保存后连接数据库,使用命令:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';然后刷新权限flush privileges;重启数据库即可。...原创 2021-11-18 16:09:06 · 959 阅读 · 0 评论 -
TOMCAT 中间件安全加固
TOMCAT 中间件安全加固1、 tomcat中间件安装:yum install httpd* -yyum install tomcat* -y然后就能看到系统中多出了个端口:其中8005端口是管理口,8080是默认的tomcat页面我们可以通过访问本地8080口来判断服务是否安装成功其中下文会详细介绍如何更改tomcat的管理口和页面显示端口。其中, Tomcat配置文件...原创 2019-04-28 09:26:14 · 1951 阅读 · 0 评论 -
BUGKU_CTF WEB(1-10)writeUP
第一题:WEB2右击查看查看源代码或者直接F12审查元素就可以看到flag值了。第二题:计算器右击审查元素,发现input表单里有一个maxlenth属性。将属性值调大,就可以输入计算结果,从而拿到flag。当然burp抓包和自制表单也可以实现该功能。第三题:WEB基础$_GET可以通过查看给出源码直接传递GET参数。拿到flag第四题:WEB基础$_POST可以自己通过写一个...原创 2018-10-19 16:00:52 · 45122 阅读 · 0 评论 -
BUGKU_CTF WEB(10-19)writeUP
第11题:web5查看页面源代码,发现被隐藏掉的代码。怀疑是javascript代码。网上试了各种解密和解压缩方法都不行。试了试直接在console控制台运行。成功运行并拿到flag。第12题:头等舱。查看页面源代码和web请求。发现什么都没有,空空如也。于是开了bt抓包。通过网页的response发现了headers中藏有flag值第13题:网站被黑首先查看网站源代码。发现网站没有什...原创 2018-10-20 08:41:36 · 46110 阅读 · 0 评论 -
BUGKU_CTF WEB 20题writeup
首先知道该页面存在sql注入漏洞。先判断是否存在注入点。发现是单引号闭合注入。通过页面回显信息判断当前列数判断页面中可以回显的点爆库名使用命令:0’ union select table_name,2,3,4 from information_schema.tables where table_schema=‘skctf_flag’#爆表名使用命令‘:0’ union sele...原创 2018-10-20 13:36:16 · 45409 阅读 · 0 评论 -
BUGKU_CTF WEB(21-35) writeUP
第21题:秋名山老司机根据题目要求可以看出题目要求在两秒内计算出div标签中给出的值。这里采用py传递value参数。通过post传递参数。session保持会话,从而拿到flag。第22题:速度要快。burp抓包发现一个response请求头。里面有一个flag属性。第一次判断是base64加密的。观察注释。传post传margin,控制session保持flag不变。写python。...原创 2018-10-31 12:59:30 · 41821 阅读 · 0 评论 -
利用C#爬取煎蛋网图片
本程序还有待优化,我只爬取了每个页面的第一张图片,你们可以自己更新优化代码以实现全站爬取的功能。主要用到的命名空间有:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.IO;usin...原创 2018-11-06 15:36:44 · 39158 阅读 · 0 评论 -
PHP+MYSQL的SQL约束攻击(原理+实现)
SQL约束攻击环境搭建MYSQL:表结构:创建表命令:create table ctf(name char(10),password char(20));表内数据:插入命令:insert into ctf values(‘admin’,‘PassAdmin’);PHPLOGIN页面:<html> <head><title>登陆系统&原创 2018-11-06 15:59:54 · 39128 阅读 · 0 评论 -
GJCTF模拟题之python暴力破解网站管理员密码
题目地址:http://www.czlgjbbq.top/GJCTF/brute.phpphp源码:<?phperror_reporting(0);session_start();if(empty($_COOKIE['f14g']) || empty($_SESSION['token'])){ $rand_number = rand(10000,99999); se...原创 2018-11-02 08:17:30 · 41910 阅读 · 1 评论 -
关于WEB远程服务器在不支持session.save.path的情况下的解决方法
代码:define('ROOT_PATH',str_replace("\\",'/',substr(dirname(__FILE__),0,26)));$savePath=ROOT_PATH."/tmp/";if (!file_exists($savePath)){ mkdir($savePath,0777,true);}session_save_path($savePath);...原创 2018-11-13 18:26:44 · 37242 阅读 · 0 评论 -
使用C++编写基于WEB CGI的后门漏洞
先上代码:#include <stdio.h>#include <stdlib.h>#include <string>using namespace std;int main(){ printf("Content-Type:text/plain;charset=utf-8\r\n\r\n&a原创 2018-12-11 12:54:52 · 32255 阅读 · 0 评论 -
使用PHP实现WEB网站登陆后台编写
使用PHP实现WEB网站登陆后台编写html页面,没加入CSS代码:<form action="login.php" method="post"> <input type="text" placeholder="原创 2018-09-13 10:22:41 · 60389 阅读 · 1 评论