python爬虫
python request官方文档
python爬虫爬百度翻译在翻译网站随便输入个中文翻译,然后按F12
知道带正确返回的值,然后查看标头,就能知道url了
然后也要注意请求方法,对于参数我们可以去payload(载荷)看
之前找错了,那个表单有个sign和ts(时间戳),这两个是会变化的值,在写data的时候不容易弄,发现sug里有个更简单的表单数据,就用这个了,下面是代码.
import requestsimport time# timestamp = time.time()# print("当前时间戳:", timestamp)while True: word = input("请输入你需要翻译的中文(q-退出):") if word == 'q': break else: data = { 'kw':word, } resp = requests.post("http ...
burp+sqlmap
burp+sqlmap第一步:Extend->BApp store->SQLIpy Sqlmap Interation
要先安装一下jythonhttps://www.jython.org/download.html
连接失败,去这个网站https://portswigger.net/bappstore/下载
如果启动时会报错,可能时jyphon有问题,去重新下或换个版本就行
sql
SQL注入1、查找注入点
2、判断是字符型还是数字型注入
3、如果字符型,找到他的闭合方式
4、判断查询列数,group by 或 order by
5、查询回显位置 -1(id要是不存在的数据)
注入分类
按照查询字段
字符型:输入参数为整形
数字型:输入参数为字符型
按照注入方法
Union注入
报错注入
布尔注入
时间注入
注入点注入点就是可以实行注入的地方,通常是一个访问数据库的连接,如本页面的注入点input the ID
Less1
如何判断是字符型还是数字型实用and 1=1 和and 1=2来判断,数字型一般提交内容为数字,但数字不一定为数字型。
Less-1 提交and 1=1和提交and 1=2,如果是数字型,你1=2就不会正常显示,是字符型则仍能正常显示,这里是字符型
Less-2则是数字型了
也可以直接用运算2-1如果显示的是2的数据则是字符型,注意+号会被认为是空格
闭合方式一个单引号-‘
两个单引号’’
一个单引号’+)
两个单引号’’+)
或双引号
其他
如何判断闭合方式例如Less- ...
docker
DockerHypervisor允许多个操作系统共享一个CPU(多核CPU的情况可以是多个CPU)。处于操作系统与硬件系统之间,用于实现多个虚拟机共享宿主机的硬件系统。
hyper-v则是微软提供的商业化Hypervisor,运行在windows系统上
KVM与Xen是linux系统上开源的Hypervisor
现在的Windows系统的架构(操作系统和应用层分别是两个虚拟机,位于Hyper-V之上)
容器与虚拟机的最大区别是
虚拟机中存在独立的硬件系统与操作系统,但容器中的全部是共享的宿主机中的操作系统与硬件系统。
VMware Workstation 要等到15.5.5版本开始,才对VMM虚拟机技术进行了重构,之前需要直接调用CPU的虚拟化功能,现在调用Win10系统的WHP(Windows 的Hypervisor平台)的API,解决了VMware Workstation与Hyper-V的不兼容问题。
Docker的架构图
Docker使用客户机-服务器架构。Docker客户端与Docker守护进程通信,后者完成构建、运行和分发Docker容器的繁重工作。Docker客户端和守护 ...
Linux
LinuxLinux下基本命令的掌握ls指令语法:ls [ 选项 ] [文件或目录]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
常用选项:
-a 列出目录下的所有文件,包括以.开头的隐含文件。
-d 将目录象文件一样显示,而不是显示其下的文件。如:ls -d指定目录
-i 输出文件的i节点的索引信息。如ls -ai指定文件
-k 以k字节的形式表示文件的大小。ls -alk 指定文件
-| 列出文件的详细信息。
-t 以时间排序。
-R 列出所有子目录下的文件。(递归)
-h 可以显示大小单位,但要和-l参数一起使用
文件系统可以看这篇文章——[详细讲解,Linux内核——文件系统(建议收藏)][https://zhuanlan.zhihu.com/p/505338841]ls通配符的使用
通配符
含义
*
代表任意个数个字符
?
代表任意一个字符,至少1个
[]
表示可以匹配字符组中的任意一个
[abc]
匹配abc中的任意一个
[a-f]
匹配a到f范围内的任意一个字符
硬链接数:通俗的讲就是有多少 ...
DVWA low
方法二:SQL注入<?phpif( isset( $_GET[ 'Login' ] ) ) { // Get username $user = $_GET[ 'username' ]; // Get password $pass = $_GET[ 'password' ]; $pass = md5( $pass ); // Check the database $query = "SELECT * FROM `users` WHERE user = '$user' AND password = '$pass';"; $result = mysqli_query($GLOBALS["___mysqli_ston"], $query ) or die( '<pre>' . ((is_object($GLOBALS["___mysqli_ston ...
java随笔
和1与,看是否为0,判断32次#include <stdio.h>int main(){ int a; scanf("%d", &a); int i = 0; int count = 0; for (i = 0; i < 32; i++) { if (a & 1 == 1) count++; a = a >> 1; } printf("%d ", count); return 0; }
Scanner sc = new Scanner(System.in); int count = 0; int a = sc.nextInt(); for (int i = 0; i < 32; i++) { if ((a & 1) == 1) count++; a >>= 1; } sc.close(); ...
KMP算法
KMP —— 一种字符串匹配算法(学习自董晓算法)给定一个模式串P和一个主串S,求模式串P在主串S中出现的位置。(字符串下标均从1开始)
去最长的想等前后缀,可以保证不漏解
通过模式串前后缀的自我匹配长度,计算next函数(降低事件复杂度的关键),给j指针打一张表,失配时跳到next[j]的位置继续匹配。
next函数next[i]表示模式串P[1,i]中相等前后缀的最长长度
next数组代码ne[1] = 0;for (int i = 2,j = 0; i <= n; i++) { while (j && p[i] != p[j + 1]) j = ne[j]; if (p[i] == p[j + 1]) j++; ne[i] = j;}
双指针: i扫描模式串, j扫描前缀。初始化,ne[1]=0,i=2,j=0.(固定的)每轮for循环,i向右走一步。
若p[i]!=p[j+1],让j回跳到能匹配的位置,如果找不到能匹配的位置,j跳回0.
若p[i]==p[j+1] ...
别踩白块儿
鼠标判断不正常(待填的坑)#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<easyx.h> //图形库,绘制图形,输出文字#include<stdlib.h>#include<time.h>/** 别踩白块:c+easyx**/#define INTERVAL 100 //标题高度#define GRID_W 100 //块的宽度#define GRID_H 150 //块的高度//定义数组,存储黑块int flags[4] = { 0 };//统计成功点了多少个黑块int gCount = 0;void init(){ //设置随机数种子 srand((unsigned int)time(NULL)); //随机生成黑块 for (int i = 0; i < 4; i++) { flags[i] = rand() % 4;//0,1,2,3 }}void draw(){ const char ...
字符串函数模拟实现
size_t strlen(const char* str)求字符串长度#include <stdio.h>#include <assert.h>//1.计数器版本int my_strlen(const char* str){ int count = 0; assert(str != NULL); while (*str != '\0') { count++; str++; } return count;}int main(){ char arr[] = "abc"; int len = my_strlen(arr); printf("%d", len); return 0;}
字符串已经以’\0’作为结束标志,strlen函数返回的是在字符串中’\0’前面出现的字符个数(不包含’\0’)。–{‘a’,’b’}不可以
参数指向的字符串必须要以’\0’结束
函数的返回值是size_t,是无符号的
char* strcpy(char* d ...