自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 优雅地优化慢查询:缓存+SQL修改组合拳

单例数据库模式中,后端高并发请求多(读多写少),导致数据库压力过大,关键接口响应变慢,严重影响体验。

2023-04-06 22:52:44 125

原创 浏览器打开任意可执行exe文件方法

思路:通过注册表注册自定义URL协议执行bat脚本,将文件路径作为参数传入环境:win10问题1:可以从浏览器直接打开可执行文件吗?答:不能。其实可以通过 实现软件直接打开,但是它是不安全的,并且现在被大多数现代浏览器禁止,只能在 ie 使用。而通过注册表自定义URL协议,通过将文件名、操作等作为参数加入URL并由浏览器访问,可以触发协议执行bat脚本执行相应操作。问题2:如何获取文件的路径?可以从浏览器上通过 直接获取吗?答:问题1我们知道无法在浏览器直接可执行exe文件。从外部打开的话,就需要有文件

2022-06-02 11:18:24 3608

原创 IBM Cloud Computing Practitioners 2019 (IBM云计算从业者2019)Exam答案

Cloud Computing Practitioners 2019IBM Cloud Computing Practitioners 2019 (IBM云计算从业者2019)Exam答案,缩进的为答案。Cloud Computing Landscape Practice ExamWhich of the following cloud computing approaches provides sophisticated security and governance designed for a

2022-05-05 16:31:34 856

原创 Windows之间使用OpenSSH的ssh免密登录,排坑

Windows上OpenSSH使用 排坑

2022-04-10 00:27:06 1466

原创 强化学习部分基础算法总结(Q-learning DQN PG AC DDPG TD3)

总结回顾一下近期学习的RL算法,并给部分实现算法整理了流程图、贴了代码。1. value-based 基于价值的算法基于价值算法是通过对agent所属的environment的状态或者状态动作对进行评分。对于已经训练好的模型,agent只需要根据价值函数对当前状态选择评分最高的动作即可;对于正在训练的模型,我们通常将目标值(真实行动带来的反馈)和价值函数的预测值的差距作为loss训练价值函数。通常使用两种价值函数:状态价值函数 V(s),策略为 π 的状态-值函数,即状态s下预计累计回报的期望值

2021-11-14 23:59:56 2012

原创 每周总结 函数方法注释规范/jQuery深拷贝/js补全函数/Vue文档学习

js代码规范注释规范函数说明注释:在函数声明上方键入 /** ,再按回车键:/*** @function 处理表格的行* @description 合并Grid的行* @param grid {Ext.Grid.Panel} 需要合并的Grid* @param cols {Array} 需要合并列的Index(序号)数组;从0开始计数,序号也包含。* @param isAllSome {Boolean} :是否2个tr的cols必须完成一样才能进行合并。true:完成一样;false(默认)

2021-08-08 22:27:22 132

原创 每周总结 20210801 vue文档学习

vue学习箭头函数function() => {}js位置JavaScript代码可以直接嵌在网页的任何地方,不过通常我们都把JavaScript代码放到<head>中;可以在同一个页面中引入多个.js文件,还可以在页面中多次编写<script>js代码... </script>,浏览器按照顺序依次执行。由于浏览器的安全限制,以file://开头的地址无法执行如联网等JavaScript代码,最终,你还是需要架设一个Web服务器,然后以http:/

2021-08-01 21:18:50 201

原创 每周总结 20210725 element-ui/vue/jquery

每周总结 20210725element-uiel-table获得行id方法<el-table @row-click="function">function(row) { let rowId = this.tableData.indexOf(row)}vuev-model与:data绑定数据的不同点v-model绑定数据是双向绑定,在js中赋值可以使用data = data1直接赋值,同时在页面中被修改也会直接修改其绑定的数据:data在vue中常常需要使用this.$

2021-07-25 23:58:36 139 3

原创 XMAN misc writeup

misc:cephalopodpcap是常见的数据报存储格式,在这个题目中我们首先用binwalk检查出pcap中含有一个png文件,然后使用tcpxtract从pcap找那个提取出png文件,文件内容即flageasycap直接追踪流然后将FLAG后面部分base64解密Erik-Baleog-and-Olaf文件名字叫stego100,提示我们使用stegsolve工...

2019-08-03 20:17:49 1551

原创 关于 .init .fini .init_array .fini_array 日志 7.16 pwn

查找资料的高效性retn 返回到栈顶地址关于 .init .fini .init_array .fini_array其中存放着的是在main函数执行前执行的代码,由__libc_start_main调用,(__libc_start_main在libc.so上,所以先有start()调用__libc_start_main,再调用init段的代码)在这段代码中就有我们经常使用的libc_csu的...

2019-07-16 21:52:21 2961

原创 日志 7.15 pwn 堆学习

调试之后的小心得:当你申请小chunk的时候,堆管理器分配chunk的大小是按照0x10的单位来配的,当你所申请的大小a超过的能满足a的 (最小容量-0x10) +0x8时,才会分配最小容量,否则是分配最小容量-0x10,因为分配给你的chunk的后一个chunk的prev_size(0x8)可以作为本chunk数据部分使用。当在题目中发现有打印的机制是跳转在跳转(解引用)时,考虑在第一个跳...

2019-07-16 10:03:00 277

原创 日志 7.14 pwn 堆

调试技巧pie文件找到基地址的几种方法:1) gdb-vmmap2) ps -aux | grep <文件名> //查看pidcd /proc//map_filesll //查看内存映射ida 可以在.data直接查看已经定义的全局变量,如果全局变量是指针记得查看对应的地址,有时ida会把指针以字符串形式显示出来,这时手动转为十六进制更容易查看堆题多查看已定义...

2019-07-15 14:58:46 220

原创 日志 7.13 pwn 堆溢出基础知识

堆溢出先上堆图:条件:可以写入堆大小无限制堆的数据结构一般情况下,物理相邻的两个空闲 chunk 会被合并为一个 chunkstruct malloc_chunk { INTERNAL_SIZE_T prev_size; /*上一个chunk空闲时记录上一个chunk的大小,上一个chunk被使用时作为上个chunk的数据部分 */ INTERNAL_SIZE_...

2019-07-13 15:49:17 1499

原创 日志 7.12 pwn

记得风暴半小时先c函数int atoi(const char *nptr)函数会扫描参数 nptr字符串,会跳过前面的空白字符(例如空格,tab缩进)等。如果 nptr不能转换成 int 或者 nptr为空字符串,那么将返回 0 [1] 。特别注意,该函数要求被转换的字符串是按十进制数理解的//vs2013里调用printf函数请使用预处理命令#define _CRT_SECURE_...

2019-07-12 22:09:44 156

原创 日志 7.11 pwn

注意点:若代码段开启写权限,可以对进行代码任意修改(通过gdb-vmmap查看)

2019-07-11 22:04:25 162

原创 日志 7.10 pwn

canary在函数执行语句之前,在栈上插入一个值,这个值不能得到或预测,在函数语句执行完之后,会查看栈中的值是否被修改/覆盖来判断是否被溢出,若值被修改则调用___stack_chk_fail()来结束程序。利用方法:1. 泄露canary使用条件:格式化字符串漏洞+找到canary在栈中的偏移利用格式化字符串漏洞等泄露出canary2. 爆破canary使用条件:有fork()机制...

2019-07-10 22:40:33 193

原创 日志 7.8 pwn

汇编:imul:有符号乘法gdb:在调试的时候可以手动打印或者设置寄存器的值print $eaxset $eax=20python:获取十六进制地址的某一位:用>>运算符将需要获取的部分移至最低位,然后将在开启了随机化(ASLR,PIE)后, 无论高位的地址如何变化,低 12 位的页内偏移始终是固定的格式化字符串的利用gotcanary的应对泄露canary...

2019-07-08 21:23:14 160

原创 日志 7.7 pwn

格式化字符串漏洞contacts关于pychain的使用:在加入项目且添加编译器之后,才会有函数提示echo2难点:PIE:题目文件有pie则说明题目文件本身也是地址随机化的(一般只有共享对象文件是地址随机化如libc)。此时由本地文件确定的地址在exp中不一定正确,需要在exp中泄露代码段一些函数的地址来确定elf文件的基地址。对于存在pie防御机制的文件,ida上显示出来的地址是...

2019-07-07 21:33:04 170

原创 日志 7.6 pwn

Full RELRO:不能修改程序的 got 表fflush():是一个计算机函数,功能是冲洗流中的信息LOWORD()得到一个32bit数的低16bitHIWORD()得到一个32bit数的高16bitLOBYTE()得到一个16bit数最低(最右边)那个字节HIBYTE()得到一个16bit数最高(最左边)那个字节十六进制中一字节为2位x64:8字节地址即为16位十六进制地址x...

2019-07-06 22:16:36 127

原创 日志 7.5 pwn

格式化字符串漏洞gdb调试gdb设置断点时,断点处的语句是程序被断时还未执行x/x <address>:十六进制输出该地址的值vmmap:输出段表got:输出got表查看格式化字符串偏移的调试方法:printf()设置断点,输入AAAA%p%p%p%p%p%p%p…,查看栈中字符串的位置,对比栈基位置(一个地址32位4字节 64位8字节)可计算得出fmtarg <...

2019-07-06 11:46:28 278

原创 格式化字符串漏洞写入大地址函数

def fmt(prev, word, index): if prev < word: result = word - prev fmtstr = "%" + str(result) + "c" elif prev == word: result = 0 else: result = 256 + word...

2019-07-05 11:14:56 504

原创 日志 7.4 pwn

写入内存操作:使用write() puts()等有泄露内存功能的函数,通过配置合适的参数如写入地址等等来完成写入使用pop_r1_r2; mov [r1] r2;链来向r1寄存器的值所指向的地址写入使用pop r2; xor r1 r1; xor r1 r2; xchg r1 r3; … mov [r1] r2; 链来向r1寄存器的值所指向的地址写入ROP Emporiumret2c...

2019-07-04 21:47:04 221

转载 系统调用号查询表

32位#ifndef _ASM_X86_UNISTD_32_H#define _ASM_X86_UNISTD_32_H 1#define __NR_restart_syscall 0#define __NR_exit 1#define __NR_fork 2#define __NR_read 3#define __NR_write 4#define __NR_open 5#de...

2019-07-04 19:50:59 3390

原创 日志 7.3 pwn

ALT+T 在ida中查找字符串如果参数是程序中没有的字符串,需要写入的时候,可以将字符串先传到寄存器1中,将写入的地址(一般是bss或者data段)存入寄存器2中,然后用mov指令将寄存器1写入寄存器2,来实现字符串的写入。mov qword ptr [r14], r15 ; ret 将r15的内容转移到r14所指的地址上八个比特(Bit)称为一个字节(Byte),两个字节称为一个字(Wo...

2019-07-04 10:47:02 177

原创 日志 6.23 计网复习补充

计网实验3补充交换机设置虚拟局域网enableconf tvlan 2interface fswitch mode accessswitch access vlan2exit

2019-06-23 23:16:52 117

原创 日志 2019.6.16 复习计网

复习计网第三章 数据链路层网桥对于未知的信息会登记和转发,丢弃只存在于已知的来源第四章 网络层1.ip地址的分配ipv4地址有32位 分为网络部分和主机部分子网掩码:由需求来确定主机部分的位数,32-主机位数 = 网络位数,网络位数为1 主机位数为0即为子网掩码ip地址范围:最小为1 最大为254(0为本机测试 255为广播地址)2.路由表的更新和下一跳选择(RIP协议)更新...

2019-06-21 22:32:24 535

原创 日志 6.21 复习计网

第一章计算三种交换的时延第二章码元判断发送内容,向量相乘,结果为1发送1 -1为发送0 0为无发送第三章CRC相关计算【已知二进制数据、CRC多项式P(X),求余数、差错后的余数】数据加0 mod2除 P(X)得余数(注:CRC只能发现错误不能纠错,并非可靠传输,可靠传输要求纠错)模板:数据为… P(X)=… <加0后的数据>mod2除P(X)后得到余数为:…...

2019-06-21 22:32:18 510

原创 日志2019.6.15

pwnrecvuntil('aaa',drop=True/False) #drop='True'表示返回的字符串中aaa不保留x32 payload跳转到函数func()写法x32地址大小为4位payload = 'a'*n + p32(func_addr) + <下一跳地址,没有可以用aaaa代替> + p32<参数1> + p32<参数2> + ...

2019-06-21 22:31:55 182

php入门课件2

php入门课件2php入门课件2php入门课件2php入门课件2php入门课件2php入门课件2

2018-05-09

php入门课件

php入门php入门php入门php入门php入门php入门php入门php入门php入门php入门php入门php入门

2018-05-09

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除