笔记
zbbjya
这个作者很懒,什么都没留下…
展开
-
java笔记
字符间的转换像这样的就会报错因为将值大的赋予了值小的这样是不行的所以要用强制转化用byte强制转化package cn.itcast.chapter01;/* * 强制类型转化 */public class HelloWorld { public static void main(String[] args) { int num = 4; byte b = (byte)num; System.out.println(b);原创 2022-05-16 23:58:23 · 285 阅读 · 0 评论 -
SSTI知识点与题型
首先会出现这样的界面?name={{1%2b1}}hello%2b= + %2b是url编码?name={{1+1}}hello执行成功说明是有模板注入?name={{ config.__class__.__init__.__globals__['os'].popen('ls ../').read() }}从查询的语句中看到了flag然后直接cat flag就可以得到了?name={{ config.__class__.__init__.__globals__['os'原创 2022-04-15 01:09:03 · 479 阅读 · 0 评论 -
做题记录命令执行buuctfEasy Calc
题目Easy Calc查看源代码给提示url 还有 waf绕过发现过滤了许多东西查看根目录发现了flag然后我们将用 file_get_contents() 函数先读取文件为字符串然后用 var_dump 显示字符串得到 flag构造playload然后得到flag题目总结首先我们要发现是题目给的提示,当查看源代码的时候好好的去看,然后我们看到有一个waf绕过,在不知道的情况下我们要去了解一下什么是waf绕过然后打开php文件查看源码时命令执行的一种方式我们根据提示开始分析看题目的原创 2022-03-25 00:42:39 · 3615 阅读 · 0 评论 -
命令执行day3
ctfshow 42这句话的意思是所以的c的结果值是不会返回的试一下双写绕过第二个再黑洞,第一个就正常输出双写绕过?c=ls;lstac 是一个逆向可以将html中的注释破坏?c=tac flag.php;lsctfshow web 43相当于进行一个命令分割,先执行前面的命令,后面的命令不用管然后跟ctfshow42一样得到flag就可以了ctfshow 44将flag过滤`?c=tac fla?.php;ls`ctfshow 45多过滤了一个空格将空格用其他代原创 2022-03-23 23:24:59 · 442 阅读 · 0 评论 -
命令执行day2
ctfshowctfshowctfshowctfshowctfshow原创 2022-03-23 01:09:22 · 186 阅读 · 0 评论 -
命令执行的题目加理解
听课笔记ctfshow的理解29上图中我们会看到有一个preg_match 的函数进行正则表达式的匹配,成功返回1,否则返回0要有分号不然出不来 phpinfo();使用时后要加分号 分号可以用?>代替主要作用用法可以看这https://blog.csdn.net/lituxiu/article/details/89330431?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164783517216781683952973%原创 2022-03-21 21:50:49 · 805 阅读 · 0 评论 -
开学考试新生赛
WEBeasy easy easy web打开界面我们会发现右键和F12被禁用了然后我们想要获得flag 使用ctrl alt加i 可以破解 就可以得到flag了REVERSEeasy reverse使用winhex将其打开然后搜索文本就会得到flag了MISC贝斯两兄弟首先看到三个等号我们就知道应该是base32 然后解码之后解为base64再解一次就可以得到flag了你参加新春杯了吗...原创 2022-03-08 18:28:26 · 4235 阅读 · 1 评论 -
sqli-labs less-1
请输入id作为带数值的参数==================================================----------=======输入?id=1我们会看到这个sql语句是我们添加进去的,原本是应该没有的limit 0.1;其中第一位是从第几个开始的,比如0代表从第一个开始,而第二位的1代表的就是显示多少个数据再输入加一个单引号我们会发现报错了?id=1'一个一个的试127.0.0...原创 2022-02-08 14:37:38 · 456 阅读 · 0 评论 -
ctfhub rce
eval执行使用蚁剑打开然后就可以得到flag了文件包含打开界面php://input伪协议相当于一个削弱post的方法input使用bp该包将改头然后发送到repeater在界面中加入<?php system("ls /");?>从raw中我们会看到flag_11583要从中得到flag使用读取源代码从图片中我们可以看出问题所在使用bp抓包然后发送到repeaterphp://filter 任意文件读取?file=php://filter原创 2022-01-27 20:18:51 · 1643 阅读 · 0 评论 -
sqli-labs less-2
同1的方法进行检查然后开始注入在输入id=1'时发现 这里说明不需要单引号原创 2022-01-16 19:46:29 · 78 阅读 · 0 评论 -
sqli-labs less-3
发现id被包裹这个提示说明了存在注入漏洞在根据提示寻找双引号去寻找单引号将后面的内容注释掉原创 2022-01-15 13:20:34 · 2604 阅读 · 0 评论 -
python类的浅拷贝与深拷贝
变量的赋值操作只是形成的两个变量,实际还是一个对象class CPU: passclass Disk: passclass Computer: def __init__(self, cpu, disk): self.cpu=cpu self.disk=disk#赋值变量cpu1=CPU()cpu2=cpu1print(cpu1)print(cpu2)浅拷贝一般都是浅拷贝,拷贝时,对象包含的子...原创 2022-01-14 20:47:17 · 355 阅读 · 0 评论 -
特殊方法和特殊属性
名称 描述 特殊属性 __dict__ 获得类对象或者实例对象所绑定的所以属性和方法字典 特殊方法 __len__() 通过重写_len_()方法,让内置函数len()的参数可以自定义类型 __add__() 通过重写__add__()方法,可使用自定义对象具有“+”功能 __new__() 用于创建对象 __init__() 对创建的对象进行初始化 _dict_还有一些扩展class A: passc...原创 2022-01-14 18:10:12 · 203 阅读 · 0 评论 -
python面向对象的三大特征
封装 继承 多态封装提高程序的安全性将数据(属性)和行为(方法)包装到类的对象中,在方法内部对属性进行类对下象的外部的调用方法。这样无需关心内部的具体实现细节,从而隔离了复杂度如果不希望类对象被访问,前边使用“—”class Student: def __init__(self, name, age): self.name=name self.__age=age def show(self): print原创 2022-01-14 17:08:06 · 346 阅读 · 0 评论 -
pycharm开发环境的调试
断点程序运行到此处,暂时挂起,停止执行,此时可以详细观察程序的运行情况,方便做出进一步的判断进入调试视图进入调试图的三种方式点击工具栏上的按钮右键单击编辑区 点击:debug模块名快捷键:shift+f9...原创 2022-01-12 19:21:13 · 111 阅读 · 0 评论 -
python的Bug
BUG的由来及分类 不同异常类型的处理方式 异常处理机制 PyCharm的调试模式BUG的由来及分类世界第一部万用计算机进化版-马克2号bug常见的类型粗心导致的语法错误类型SyntaxError(1)age=input('请输入你的年龄:')if age>=18print('成年人, 你该负法律责任了')指出错误input是str类型的 age也是str类型的 18是整数类型使用转换字符来改错age=input('请输入你的年龄:')print原创 2022-01-12 14:54:19 · 297 阅读 · 0 评论 -
python函数的定义与调用
函数的创建与调用 函数的参数定义 函数的返回值’ 函数的参数定义 变量的作用域 递归函数1函数的创建与调用函数就是执行特定任务以完成特定功能的一段代码需要函数的原因复用代码隐藏实现细节提高可维护性提高可读性便于调试def 函数名([输入函数])函数体[return xxx]函数的创建def calc(a,b)c=a+breturn c==================================================原创 2022-01-10 22:02:16 · 1511 阅读 · 0 评论 -
python字符串
目录字符串的驻留机制 字符串的常用操作 字符串的比较 字符串的切片操作 格式化字符串 字符串的编码转换1.字符串的驻留机制..........................................................................................................。。。。。。。。。。。。。。。。。。。字符串在python中是基本的数据类型,是一个不可变的字符序列...原创 2022-01-09 21:16:07 · 304 阅读 · 0 评论 -
sqliabs环境的搭建过程和安装
我也不太会其中的原理我不大懂,等我懂了再来慢慢解释,先记录一下1 首先将下载sqliabs的压缩包零零零零2再下载一个phpstudy3将sqliabs的压缩包解压到phpstudy的WWW目录下然后你打开然后在这里改个密码最好不要用root当密码可能会不成功(我也不知道为什么我在这个过程中是这样的在多方的帮助下搭好的我现在还不太懂等我懂了再来解释一下)改好了之后我们打开拍phpstudy先保证这两个是能够启动的然后检查一下的数据库有没有ph...原创 2022-01-08 16:47:41 · 1138 阅读 · 1 评论 -
python集合
集合可以进行增删改操作集合的创建方式#集合的创建方式#第一种创建方式使用{}j={2, 2, 2, 3, 3, 3, 4, 5, 6, 6, 7, 9}#集合中的元素不允许重复print(j)#第二种创建方式a=set(range(6))print(a)b=set([1, 2, 3, 3, 3, 4, 4, 5, 6, 7, 8])print(b, type(b))c=set((1, 2, 2, 3, 4, 4, 4, 5, 5, 6, 7, 8, ...原创 2022-01-07 22:41:46 · 259 阅读 · 0 评论 -
python元组
什么是元组 元组的创建方式 元组的遍历1什么是元组2元组的创建方式#第一种创建方式使用()a=('你好', 'python', 5)print(a)print(type(a))#第二种创建方式,使用内置函数tuple()b=tuple(('你好', 'python', 5))print(b)print(type(b))#如果元组中只有一个元素那么是它原来的类型,若想要改为元组类型要加入逗号或小括号c=('sturggule',)print(c...原创 2022-01-06 23:26:45 · 342 阅读 · 0 评论 -
python的字典
(学习笔记 图片来源于哔哩哔哩的网课内容)什么是字典 字典的原理 字典的创建与删除 字典的查询操作 字典元素的增,删,改操作 字典的推导式1,2什么是字典和字典的原理是python的内置数据结构之一,与列表一样是一个可变序列以键值对的方式存储数据,字典是一个无序的序列放在字典中的序列必须 是不可变序列 str 不可以进行增删改的操做整数序列和字符串序列都是不可变序列(学过的可变序列列表, 字典)利用哈希函数来使用字典,用哈希函数进行计算先找到value.原创 2022-01-06 21:09:12 · 363 阅读 · 0 评论 -
python列表
(这是一个我在学习python的网课笔记整理学习笔记来源于总结图片哔哩哔哩的网课内容)为什么需要列表变量可以存储一个元素,而列表是一个“大容器”可以存储N多个元素,程序可以方便的对这些数据进行整体操作列表相当于其他语言中的数组a=10 #变量存储是一个对象的引用lst=['hello', 'world', 98]print(id(lst))print(type(lst))print(lst)列表的创建列表需要使用中括号[],元素之间使用英文的逗号进行分隔..原创 2022-01-06 17:01:38 · 449 阅读 · 0 评论 -
python 循环结构
循环的分类while for-in语法结构while 条件表达的式条件执行体(循环体)选择结构的if与循环结构while的区别if是判断一次,条件为true执行一次while是判断n+1次,条件为true执行n次a=1 #判断条件表达式while a<10: #执行条件执行体 print(a) a+=1 while循环#计算0到4之间的累加值#使用 四步循环法#1 初始化变量#2 条件判断.原创 2022-01-05 22:10:50 · 341 阅读 · 0 评论 -
python range函数的使用
python range函数的使用用于生成一个整数序列创建range对象的三种方式1,range(stop)创建一个(0,stop)之间的整数序列步长为12,range(start,stop) 创建一个(start,stop)之间的整数序列,步长为13,range(start,stop,step)创建一个(start,stop)之间的整数序列,步长为step#range()的三种创建方式print('第一种创建方式,只有一个参数(小括号中给了1个数)')r=range.原创 2022-01-04 22:45:12 · 522 阅读 · 0 评论 -
python对象的布尔值和分支结构
对象的布尔值#测试对象的布尔值print('------------------以下对象的布尔值为False------------------------')print(bool(False)) #Falseprint(bool(0)) #Falseprint(bool(0.0)) #Falseprint(bool(None)) #Falseprint(bool('')) #Falseprint(bool("")) #Falseprint(bool([])) #空列表p原创 2022-01-04 22:21:53 · 260 阅读 · 0 评论 -
xff_referer
打开之后会出现这样的一个界面这里它说明了IP地址必须时123.123.123.123,用bp进行抓包发送到repeater由前面的提示可知,其IP地址为 123.123.123.123X-Forwarded-For 是一个HTTP的扩展头部。HTTP/1.1(RFC 2616)协议并没有对它定义,它开始是由Squid这个缓存代理软件引入,用来表示HTTP请求真实IP。X-Forwarded-For:client, proxy1,proxy2再点...原创 2022-01-04 14:31:55 · 915 阅读 · 0 评论 -
BUGKU 网站被黑
首先打开链接我的金币要不够了我就先不打开了然后打开之后我吗会发现用F12检查了之后也没有什么有用的信息用bp抓包也没有然后使用御剑去扫描一下使用第二个批量扫描后台然后再这张图的添加上点添加将网址输在里面再点击选择PHP.txt然后点击开始扫描就可以得出几个网址然后将其打开就会发现一个界面需要输入密码然后直接用burp suite爆破密码就可以了...原创 2022-01-04 12:50:43 · 336 阅读 · 0 评论 -
BUGKU 头等舱
在打开一个网页发现输出一行字什么也没有先用F12检查一下发现没有是么用所以使用burp suite抓包发送点击go然后就可以得到flag了原创 2022-01-03 19:05:31 · 126 阅读 · 0 评论 -
比较运算符与布尔运算符
#比较运算符 此类型为bool类型a, b=345, 678print('a<b吗?', a<b)print('a>b吗?', a>b)print('a<=b吗?', a<=b)print('a>=b吗?', a>=b)print('a==b吗?', a==b)print('a!=b吗?', a!=b)print('--------------------------------------')'''一个 = 称为赋值运算的运算符 , .原创 2022-01-03 18:50:51 · 169 阅读 · 0 评论 -
python的赋值运算符
#赋值运算符运算顺序从右到左y=3+5print(y)#链式赋值b=c=d=23print (b, id(b))print (c, id(c))print (d, id(d))print('--------------------------------------------支持参数值----------------------')a=11a+=32 #相当于a=a+30print(a)a-=34 #相当于a=a-10print(a)a*=2 #相当于a=a*2print.原创 2022-01-03 18:23:14 · 217 阅读 · 0 评论 -
python的运算符汇总及总结
运算代码print(1+1) #加法运算print(1-1) #减法运算print(2*4) #乘法运算print(1/2) #除法运算print(11/2) #除法运算print(11//2) #整除运算print(11%2) #取余运算print(2**2) #表示的是2的2次方print(2**3) #表示二的三次方...原创 2022-01-03 17:45:06 · 1239 阅读 · 0 评论 -
python的输入函数input()
#输入函数inputpresent=input('宗宝贝今天想要吃什么呢?')print(present, type(present))python加法时若不改变类型则其在计算时因为str的a和b都一样类型所以当有加号就起了连接的作用#从键盘录入两个整数,计算两个整数的和:a=int(input('请输入第一个加数:'))#a=int(a)b=int(input('请输入第二个加数:'))#b=int(b)print(a+b)print(type(a), type(b.原创 2022-01-03 17:26:00 · 288 阅读 · 0 评论 -
在这段时间学习 的总结图
原创 2022-01-03 15:41:41 · 103 阅读 · 0 评论 -
数据类型转换
将不同类型的数据类型整合到一起将str()将其他类型转化为str类型print(type(name), type(age))#说明name与age的数据类型不同#print('我叫'+name+'今年,'+age+'岁')#当将str类型进行链接时,报错,解决方案,类型转换print('我叫'+name+'今年,'+str(age)+'岁')#将int类型通过str()函数转换为strprint('-----------------str()将其他类型转成str类型----')a=10原创 2022-01-03 15:19:38 · 144 阅读 · 0 评论 -
python的整数型 浮点型 布尔型和字符类型
整数类型#整数类型可以表示正数,负数。0n1=90n2=-57n3=0print(n1, type(n1))print(n2, type(n2))print(n3, type(n3))#整数还可以表示为二进制,八进制,十进制,十六进制print('十进制', 123)print('二进制', 0b1110110)print('八进制', 0o234)print('十六进制', 0x1EA)结果如下浮点类型#浮点类型a=3.2454print(a, ty原创 2022-01-03 14:01:10 · 193 阅读 · 0 评论 -
python赋值
name='宗宝贝'print(name)这时输出的就是第一个宗宝贝在其向多个赋值的时候我们会发现name='宗宝贝'name='萌宝贝'print(name)这时输出的就是萌宝贝多个赋值时我 们会发现其的取值还是第一个第一个的赋值变量名会指向新的空间...原创 2022-01-03 13:14:15 · 61 阅读 · 0 评论 -
python的一些基础知识
在计算机中只识别二进制print(chr(0b10011001011000))print(ord('乘'))在python#在使用这些不可以用来命名python文件import keywordprint(keyword.kwlist)中有些是不能够用这样的字符去命名[' False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'de原创 2022-01-03 13:03:21 · 50 阅读 · 0 评论 -
元字符的使用
原创 2022-01-02 20:01:01 · 349 阅读 · 0 评论 -
转义字符的理解和用法
转义字符的含义:就是将反斜杠 和你所需的功能结合在一使其达到你所想要的效果类似于\n之类的字符\n 换行\t 字符空格\b 退一格\r 前字符对后字符进行覆盖在输出网站名的时候会有这样将反斜杠的那个字符当作有意义的想要的所以当有一个被用掉了所以会出现当用https:\www.baidu.com. 在这样的情况下我们就这样多打一个将可以把问题解决后面是你想输出一个句子中的引号显示可以用这样的方法使用转义字符去实现(听课笔记和自己的理解如何有什么不对的地方请指教)..原创 2022-01-02 19:43:16 · 573 阅读 · 0 评论