自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 《深入掌握以太坊核心技术》--14-Dapp示例

Ganache-cli是一个用于以太坊开发和测试的命令行工具。它提供了一个本地的以太坊区块链环境,可以用于开发智能合约、部署合约和进行交易等操作。使用ganache-cli,开发者可以在本地快速搭建一个私有的以太坊网络,而无需连接到真实的以太坊网络。它还提供了一些方便的功能,如创建模拟账户、生成测试数据、调整区块链状态等,有助于简化以太坊应用程序的开发和测试过程。这要求预先安装 nodeis 和 npm,再用 npm安装 ganache-cli、web3 和 solc0.4.25(当时版本)

2024-05-21 17:50:40 567

原创 《深入掌握以太坊核心技术》--13-Web3.js写以太坊脚本

3.编写转账的js脚本,保存在sendCoin.js文件中。这里可以用solc或者remix来执行。2.将合约转为AbI。

2024-05-21 17:50:05 96

原创 《深入掌握以太坊核心技术》--12-Web3.js简介

web3 .js简介web3 模块加载异步回调(callback)回调 Promise 事件(v1.0.0)应用二进制接口(ABI)批处理请求(batch requests)大数处理(big numbers)常用 API基本信息查询网络状态查询Providerweb3 通用工具方法web3.eth账户相关区块相关交易相关交易执行相关发送交易消息调用日志过滤(事件监听)合约相关调用合约函数监听合约事件web3.js是一个JavaScriptAPI库。

2024-05-20 18:08:24 725

原创 《深入掌握以太坊核心技术》--11-深入理解Solidity

强制指定的数据位置外部函数的参数(不包括返回参数):calldata;状态变量:storage默认数据位置函数参数(包括返回参数):memory;引用类型的局部变量:storage(要求一个很大存储空间,用来保证不发生哈希碰撞,这也导致无法遍历,mapping就是,同时memory内存分配时就要说明存储大小,而storage不用,故可用mapping)值类型的局部变量:栈(stack)特别要求。

2024-05-20 18:08:05 1078 1

原创 《深入掌握以太坊核心技术》--10-简单代币合约

ERC-20 是以太坊上智能合约的一个通用标准,用于代表可互换的代币。ERC-20 标准定义了一组规则和函数,使得代币合约在以太坊网络上具有一致性和互操作性。这意味着符合 ERC-20 标准的代币可以在相同的钱包、交易所和其他以太坊智能合约中使用,而不需要针对每种代币编写特定的代码,即任何一个代币都完全等同于任何其他代币;事件(Event)是一种特殊的 Solidity 语言结构,用于在智能合约执行期间发出通知。事件允许智能合约与外部应用程序进行通信,以便它们可以监视合约中的活动并采取适当的行动。

2024-05-19 19:15:45 649

原创 《深入掌握以太坊核心技术》--09-Solidity简介

Solidity简介语言特性Solidity源码和智能合约Remix上开发测试soliditySolidity是一门面向合约的、为实现智能合约而创建的高级编程语言。设计的目的是能在以太坊虚拟机(EVM)上运行。Solidity是静态类型语言,支持继承、库和复杂的用户定义类型。内含的类型除了常见编程语言的标准类型,还包括address等以太坊独有的类型,Solidity源码文件通常以.sol作为扩展名。可以在Remix上进行Solidity编程。

2024-05-19 19:15:22 732

原创 《深入掌握以太坊核心技术》--08-以太坊虚拟机

具体来说,存储在节点数据库中的位置可以被认为是智能合约的存储空间,它被组织成一个持久化的键值对数据库。当智能合约的状态发生变化时(例如,合约的函数被调用导致状态变化),节点会更新其数据库中相应智能合约地址的存储数据。这个更新的过程包括写入新的键值对到数据库中,并在区块链上记录这次状态变化的交易。节点执行存储操作时会检查交易中所包含的 gas 是否足够支付存储操作的费用,如果不够,则会拒绝执行这个交易。节点的数据库包含了整个区块链的状态,其中就包括了智能合约的状态信息。

2024-05-18 19:10:16 797

原创 《深入掌握以太坊核心技术》--07-以太坊交易

发送交易时,需要指定正确的 nonce 值,以确保交易被正确地排序和执行。由于每个交易都需要正确的 nonce 值才能被区块链网络接受和执行,攻击者无法重放之前的交易,因为它们的 nonce 值将会与当前状态不匹配,从而导致交易被拒绝或执行失败。因此,nonce 可以有效地防止重放攻击。如果某个用户在硬分叉之前向地址 X 发送了一笔交易,那么在分叉后,这笔交易可能会在链 A 和链 B 上都存在。2.生成交易后不分配nonce,也不签名,而是把它放入一个队列等待,另起一个节点跟踪nonce并签名交易。

2024-05-18 19:09:57 903

原创 《深入掌握以太坊核心技术》--06-以太坊账户

一旦合约运行结束,并且由它发送的消息触发的所有子执行(sub-execution)结束,EVM就会中止运行,直到下次交易被唤醒。消息是不会被序列化的虚拟对象,只存在于以太坊执行环境(EVM)中,交易会被打包,消息调用不一定会被打包记录。可以读/写自己的内部存储(32字节key-value的数据库)合约可以向其它合约发送“消息”(合约与合约之间的通信方式)签名的数据包,由EOA发送到另一个账户。可向其他合约发送消息,依次触发执行。

2024-05-17 11:16:00 1561 1

原创 《深入掌握以太坊核心技术》--04-以太坊客户端简介

以太坊客户端目前常用的以太坊客户端占比基于以太坊规范的网络全节点和轻节点以太坊全节点远程客户端和轻节点全节点优缺点公共测试网络节点的优缺点本地私链优缺点。

2024-05-17 11:14:58 870

原创 《深入掌握以太坊核心技术》--03-智能合约入门

一旦智能合约被成功部署并确认状态(也就是被矿工打包并发布到区块链上),Remix 控制台会显示与该部署相关的重要信息,包括区块地址和交易地址。根据前一个教程领取到的测试币,用Remix连接到Metamask,将合约部署到链上。水龙头合约,可以将合约中的币,提到账户上。可以在Remix中看到合约的余额。也可在区块链浏览器看到相关信息。

2024-05-16 10:23:49 136

原创 《深入掌握以太坊核心技术》--02初识以太坊

它提供了丰富的功能,使开发人员能够轻松地编写、调试和部署智能合约,同时开发人员可以使用 Remix 直接将他们的智能合约部署到以太坊网络上,并与已部署的合约进行交互。3.如果 MetaMask 或计算机出现问题无法打开钱包,可以使用这12个单词组成的助记词在任何兼容的钱包中进行恢复。硬件钱包:这些钱包是专门设计的硬件设备,用于存储用户的私钥,并提供离线的安全存储和交易签名功能。网页钱包:这些钱包是基于网页的在线钱包,用户可以通过浏览器访问并管理加密资产。视频上有些废弃掉的,以后有遇到新的,再记录下来吧。

2024-05-16 10:22:37 818

原创 《深入掌握以太坊核心技术》--01以太坊简介

区块链(公链)发展以太坊核心特性发展阶段特点组成部分重要概念货币以太坊和图灵完备去中心化应用代币(Token)名词解释。

2024-05-15 17:56:39 782

原创 《区块链技术与应用》--笔记【1-3】

观点1:区块链是下一代价值互联网。观点2:世界上最慢的数据库观点3:是一个庞氏骗局观点4: 是一个像蒸汽机一样的伟大发明观点5:。。。观点有很多,既有支持者,也有反对者。支持者认为,区块链技术具有革命性的潜力,可以在各个领域实现更高效、更安全的数据管理和交易方式。然而,反对者则对区块链技术的实际应用价值持怀疑态度。他们指出,目前的区块链项目存在着诸多技术难题和实际限制,例如交易速度慢、能源消耗高、扩展性差等。

2024-05-15 17:55:34 662

原创 Nethremind搭建-记录

创建 config.cfg 文件并将其放置在 node_1/configs 子文件夹中(对 node_2 也执行此操作,但LocalIp, ExternalIp and Host需改变)并且在终端中并创建 EXTRA_VANITY 和 EXTRA_SEAL 变量。分别运行每个节点,以便我们可以复制并保存每个节点的Enode和Node地址。向static-nodes.json添加各节点的Enodes。记录的Enode和Node地址格式,将下面命令复制到终端中。清除节点的数据,以便准备重新启动节点时使用。

2024-04-25 18:25:32 334

原创 Geth--学习及记录

其中–datadir 表示指定目录存储数据,init读取genesis.json来将创世块入链,注意初始化两个节点的链时,–datadir需指定不同目录,且下面的命令–port也需不同。输入上面命令后,进入交互式的Javascript执行环境,在这可以使用一些命令来与区块链进行交互。Binance Smart Chain测试网络:97。Binance Smart Chain主网:56。Ropsten测试网络:3。Rinkeby测试网络:4。Kovan测试网络:42。

2024-04-25 17:53:08 588 1

原创 Polkadot学习概念总结

PolkadotPolkadot 就是一种允许独立区块链互相交换信息的系统,由平行链、中继链和转接桥组成,目标是实现各个链之间资产与数据的互相流通性质通过允许专门的区块链以某种方式相互通信来实现可扩展性 安全、无信任的环境。Polkadot 是一个活的网络,其核心支柱是治理和可升级性波卡是一个允许不同区块链以一种无信任成本的方式传输消息、数据、价值的平台本质一个由主要的中继链和多个平行链组成的可扩展的异构分片区块链目的旨在连接和保护独特的区块链,无论它们是公开的、无需许可的 网络、私有联盟

2022-01-18 00:06:32 12629

原创 编译原理实践————flex下的词法分析器

flex下词法分析器的实现实验目的实验原理实验设计输出形式正则表达式flex/lex源程序介绍定义部分实验目的通过使用flex/lex来编写一个简单C语言词法分析器,以便加深对词法分析的理解实验原理词法分析是从左往右分逐个字符地对源程序进行扫描,然后按照源程的构词规则规识别出一个个单词符号,把作为字符串的源程序等价地转化为单词符号中间程序。-----《编译与反编译技术》实验设计输出形式词法分析程序输出的单词通常用二元式(单词种别,单词符合的属性值表示),但这里的输出形式为<所属类别,单词

2021-10-05 23:32:29 1514

原创 [PWN] BUUCTF ciscn_2019_es_2

[PWN] BUUCTF ciscn_2019_es_2解题分析漏洞利用payload解析程序执行过程图参考:解题分析按照惯例checksec一下,开了NX与RELRO运行程序,查看逻辑,两次input,并且回显Hello,input32位IDA打开,查看关键函数vul(),发现两次read往s里写内容,read可写0x30个字节,但s的缓冲区只有0x28个字节,所以这里存在着栈溢出,若有backdoor直接获得flag的话,可直接构造payload=0x28*‘a’+ebp+backdoo

2021-06-20 14:37:53 1204

原创 Seed-labs环境搭建-Ubuntu20.04

Seed-labs环境搭建前言一.安装VirtualBox1.下载VirtualBox2.安装二.VDI到VMDK的格式转换1.cmd进入VB的文件夹位置2.重新执行命令等到100%即成功3.若遇上UUID不匹配尝试输入以下命令,修改UUID三.导入虚拟机1.自定义创建虚拟机2.稍后安装操作系统3.设置虚拟机名与存放位置4.使用现有的虚拟磁盘5.导入转换后的VMDK文件6.完成参考:前言因为在官方下载的是Ubuntu-20.04.vdi,要用VB打开,但不习惯用VB所以在把文件转换成了VMDK,这里用V

2021-06-19 16:21:54 7052 2

原创 [PWN] BUUCTF [HarekazeCTF2019]baby_rop2

[PWN] BUUCTF [HarekazeCTF2019]baby_rop2解题分析漏洞利用payload解析payload解题分析按照惯例先checksec,发现开了nx和RELRO,又因为题目给了文件libc.so.6,所以猜测要需要构造ROP来布置程序执行路线图运行程序来观察程序的逻辑,发现需要输入name,然后程序再把输入的name打印出来64位IDA打开,发现buf缓冲区只有0x20个字节大小,但read却可以往buf缓冲区中写入0x100个字节,所以这里存在着栈溢出shift+

2021-06-09 09:51:12 388

原创 [PWN] BUUCTF ez_pz_hackover_2016 1

[PWN] BUUCTF ez_pz_hackover_2016 1解题分析漏洞利用payload分析输入点与ebp距离的计算方法泄露的地址与shellcode的偏移量payload解题分析按照惯例先checksec一下,除了RELRO,其他都没开执行,观察程序运行逻辑,给出一个地址,然后让我们输入name32IDA打开程序,观察main函数,header()只是打印图形,chall()才是关键函数在chall中先输出s的地址,之后fgets接收一个不大于1023(0x3ff)的字符到s的缓

2021-06-08 00:31:27 487 2

原创 [PWN] BUUCTF pwn2_sctf_2016(整数溢出+泄露libc)

[PWN] BUUCTF pwn2_sctf_2016解题分析漏洞利用payload分析payload1payload2解题分析按照惯例先checksec,开了nx保护和部分RELRO接着运行文件,观察程序的运行逻辑,读入一个长度len然后把输入的字符,再打印输入的Len个字符32位IDA打开文件,main函数调用了vuln()发现对输入的长度len做出了限制,len不能大于32当len>32后,程序将结束,这就导致无法直接溢出进入get_n函数,发现get_n会接收a2个长度

2021-06-05 14:00:17 681 3

原创 [PWN] BUUCTF jarvisoj_fm

[PWN] BUUCTF jarvisoj_fm按照惯例checksec ,开启了relro,canary,nx执行程序,观察程序的逻辑,在打印出输入的字符后,会打印出3!32IDA打开查看主要函数main,观察到在红框那里存在的很明显的格式化字符串漏洞,而且当x==4时,会得到flag,根据之前执行的程序可知,未修改x之前x的值为3,则若要修改x,需要利用格式化字符串漏洞的任意地址读写解题思路利用 "AAAA %08x %08x %8x %08x %08x %08x %08x………… ",

2021-06-05 00:37:13 375

原创 [PWN] BUUCTF 铁人三项(第五赛区)_2018_rop 1(ret2libc3)

@[TOC]( [PWN] BUUCTF 铁人三项(第五赛区)_2018_rop)

2021-06-04 23:54:16 931 3

原创 [PWN] BUUCTF bjdctf_2020_babyrop

构造常规的ROP链,三种找到libc版本的方法分析寻找libc版本1.利用LibcSearcher来查找libc版本payload2.通过特殊网址来查找libc版本3.通过gdb来查找libc版本payload分析按照惯例checksce ,发现开了NX和RELRO运行程序,查看程序的运行逻辑,从图中的红框可以猜测是一道泄露libc的题目接着用IDA查看程序中主要函数存在的漏洞,可以看到 buf这个字符串数组只有0x20字节,而read却可以读取0x64个字节,所以这里存在着栈溢出shift

2021-06-04 00:21:40 409

原创 [PWN] BUUCTF not_the_same_3dsctf_2016的三种做法

[PWN] BUUCTF not_the_same_3dsctf_2016的三种做法1.维持函数正常结束(printf打印)payload1(FALSE)payload2(TRUE)2.write打印payload3.修改栈区权限存在疑惑参考wp按照惯例先checksec一下,发现没有canary和pie之后用ida查看主要函数main有个gets函数存在栈溢出函数窗口中有个backdoor函数get_secret,因为这个函数可以读取flag.txt并且通过v0将内容写进fl4g,所以可以想到在

2021-06-03 00:43:38 314

原创 [PWN] BUUCTF ciscn_2019_s_3

记Ciscn_2019_s_3的调试过程步骤payload参考wp步骤按照惯例先checksec用64位ida打开发现main中只要一个关键函数vuln,以及发现有gadgets函数记录vuln地址:0x4004ED分析vuln发现进行了系统调用,一个是sys_read,一个是sys_write调用号:sys_read 的调用号 为 0 ;sys_write 的调用号 为 1;记录syscall地址:0x400501或0x400517图中分别给read的三个参数赋值0,&buf,

2021-05-31 00:07:00 495

原创 记录phpstudy集成环境中phpmyadmin的相关配置以及遇到的一些问题

记录phpstudy集成环境中phpmyadmin的相关配置以及遇到的一些问题phpMyAdmin相关文件的配置遇到的一些问题问题一(Mysql没有设置密码)解决方法:问题二(拒绝访问)解决方法phpMyAdmin相关文件的配置1.找到phpMyAdmin下libraries文件夹,修改config.default.php文件2.找到cfg[′PmaAbsoluteUri′]=′′;//这里是登入phpmyadmin的网址eg:cfg['PmaAbsoluteUri']=''; // 这里是登入php

2021-05-22 11:46:12 2123

空空如也

空空如也

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

TA关注的人

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