自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Blog of Friends

前言自从接触ctf,渐渐也认识了很多师傅们,被很多师傅们带,从他们那里学习到了很多东西,汇总一下他们的博客。博客Y4tacker’s CSDNY4tacker’s new blog会下雪的晴天L0nm4rataoMy0n9s

2021-04-03 22:22:22 471 7

原创 第四届红帽杯网络安全大赛 Web 部分writeup

前言记录一下web的wp,随手写的,只会前三题,确实都很简单。find_it扫到robots.txt,发现1ndexx.php,直接访问不了,访问.1ndexx.php.swp得到源码,然后读flag:?code=<?= show_source(glob('./*')[2]);再访问hack.php:base32解密一下即可得到flag。framework是个yii2的框架,扫出来www.zip下载源码,找到了反序列化的路由,yii2的反序列化之前审过了,直接拿POC打:&lt

2021-05-09 22:38:28 1001 15

原创 phpmyadmin文件包含漏洞复现(CVE-2018-12613)

前言一个非常经典的漏洞了,以前只是直接拿payload打,还没认真的在本地复现过,看过漏洞的代码到底是怎么回事,所以今天从github上下载phpmyadmin4.8.1,到vps上然后复现一波,看一下代码的问题。复现漏洞出现在index.php的第61行:存在任意文件包含,但是需要进入if才可以。一层一层的来看,首先target不为空,而且是字符串,这很容易满足,而且不以index开头,而且不在黑名单中:$target_blacklist = array ( 'import.php'

2021-05-04 22:30:51 103 1

原创 Ctfshow 五月赛 大牛杯 Web&BlockChain

web_checkinban了这些:acegikmoqsuwy13579\+_\(&-#@~\[{\"\.,:直接拿短标签和nl,反引号打:?><?=`nl%09/*`

2021-05-03 23:51:16 221 5

原创 接下来的学习计划

前言好久没有写这样的学习计划了。上学期尝试过写周记,考虑到上学期的周记都变成了网抑云,所以这学期就没有再写过周记,一些网抑云的东西也没有再写了。今晚正值五一,发现我终于心浮躁到学不下去了,扣了一天的手机,也就趁着五一放松一下自己,明天再玩一天,然后又要开始投入到紧张的学习生活了。学习计划5月,6月比赛也是很多,考试也太多了,说是学习计划,估计到时候连学的时间也就没了。一个月除去比赛,和考试复习,能有一个星期可以学就已经很满足了。接下来的接近一年事情也是很多,有一个扫描器的大创,也和几个师傅准备出书

2021-05-01 00:56:01 755 9

原创 Java基础学习笔记(一)

前言开始学习Java,接下来会记录下自己学习Java过程中的一些东西,单纯的笔记,我自己也不一定能看懂,想到哪里记到哪里。Java程序设计环境JDK:编写Java程序的程序员使用的软件。SE:用于桌面或简单服务器应用的Java平台。OpenJDK:Java SE的一个免费开源实现。编译运行Java程序:javac xxx.javajava xxx用IntelliJ IDEA创建工程似乎会出现很奇怪的问题,就是工程的那个文件夹似乎和我文件系统里的文件夹他不是同一个文件夹,因此考虑就是创

2021-04-29 21:23:12 706 9

原创 security innovation 靶场刷题(下)(持续更新)

Heads or Tails function play(bool _heads) external payable ctf{ require(msg.value == cost, "Incorrect Transaction Value"); require(gameFunds >= cost.div(2), "Insufficient Funds in Game Contract"); bytes32 entropy = block

2021-04-25 20:48:22 812 2

原创 Ctfshow web入门 thinkphp专题(持续更新)

web569看一下thinkphp3.2.3官方手册,看完就都懂了:ThinkPHP3.2.3完全开发手册首先就是路由的方式:http://serverName/index.php/模块/控制器/操作此外就是默认是不区分大小写的,由'URL_CASE_INSENSITIVE' => true,这个配置决定。URL模式的话,默认是PATHINFO模式,即本题考察的模式。直接访问即可:/index.php/admin/login/ctfshowloginweb570下载源码,在C

2021-04-25 16:40:26 191 6

原创 Cyber Apocalypse 2021 Web 几个简单题目的wp

Inspector Gadget进入看到CHTB{,f12发现有个main.js,第一行:console.log("us3full_1nf0rm4tion}");即CHTB{us3full_1nf0rm4tion}MiniSTRyplace源码下载下来审计一下,看到的第一行php代码就感觉有问题:include('pages/' . (isset($_GET['lang']) ? str_replace('../', '', $_GET['lang']) : $lang[array_rand(

2021-04-24 01:11:52 92

原创 security innovation 靶场刷题(上)

Donation感觉有点不太明白成为winner到底要干啥,但是withdrawDonationsFromTheSuckersWhoFellForIt()函数可以转走合约中的钱,因此应该就能是winner了。看了一下WP,原来这个靶场所有题目完成的标志是把钱转回。写了个攻击合约才发现需要auth,是这个靶场对每一题都有的auth。我想直接交互,但是我不知道为什么remix这里点不了了:(注:后来发现,是因为题目的那个给的都是小写,应该有一部分字母是大写,所以才不行。)考虑到要与合约直接交互,我又

2021-04-23 18:40:15 123

原创 [RoarCTF 2019]Simple Upload

知识点文件上传代码审计thinkphp的upload()WP打开看看,是个文件上传: $uploadFile = $_FILES['file'] ; if (strstr(strtolower($uploadFile['name']), ".php") ) { return false; } $upload = new \Think\Upload();// 实例化上传类 $upload-

2021-04-23 00:44:49 61

原创 MRCTF2021 ETH uncertainty

前言昨天前天遇到的区块链题目有有些远超我目前的能力范围了,因此做的非常难受,决定先扔了,循序渐进,不好高骛远。突然想到MRCTF2021的那2道区块链自己还没有去复现,昨天想着去复现,今天发现MRCTF的站关了。。。利用着大师傅的WP上面的记录,找到了目标合约,进行复现。不过这题本身是没有给源码的,是需要逆向的,奈何我源码都读了几遍了才知道。。。没办法就直接拿着源码来复现叭。这题的难点其实还是逆向,直接看源码的话就会简单许多。WP源码:pragma solidity ^0.4.17;interf

2021-04-21 21:15:23 234 3

原创 [GYCTF2020]Ez_Express

前言废物的我 区块链也被虐惨了。。。感觉这个区块链tm的就是低配版的pwn,这几天也比较浮躁,没法专心下去去研究区块链,就来重回web,做几道题放松一下。WP进入是个登录,随便注册一下,必须要ADMIN才可以。f12看一下,发现存在www.zip泄露,把源码下载下来审计一下,把几个js文件大致扫一下,发现用了ejs,心中一喜。。。再看看index.js:var express = require('express');var router = express.Router();const isO

2021-04-20 21:52:03 70 1

原创 *ctf 2021 StArNDBOX

前言一道也是要手写opcode的题目,其实目前的理解感觉有些懵懂,但是至少对于题目的基本原理也是懂了,学到了很多。WP源码:pragma solidity ^0.5.11;library Math { function invMod(int256 _x, int256 _pp) internal pure returns (int) { int u3 = _x; int v3 = _pp; int u1 = 1; int v

2021-04-20 14:39:12 154

原创 balsn 2020 Election

前言开始刷历年的区块链ctf题目,遇到了这个考察storage的题目,学到了很多的东西。WP源码:pragma solidity =0.6.12;pragma experimental ABIEncoderV2;interface IERC223 { function name() external view returns (string memory); function symbol() external view returns (string memory);

2021-04-19 20:39:39 102 2

原创 Solidity 逆向分析入门学习

前言智能合约学到现在也学了差不多1周了,也接触了一些智能合约常见的攻击手段,跟着网上的文章也学习了很多。但是,学习的文章给的直接都是Solidity的源代码,但是:智能合约大多数代码不公开源码,公开字节码,所以需要使用逆向工具或者人工进行逆向分析。因此以后要强迫自己去逆向分析代码,提高自己的智能合约逆向分析能力。但是一开始看逆向得到的伪代码还是比较迷的,因此跟着网上的一些最基本的入门的文章学习了一下,大致的理解这些逆向得到的伪代码,先有1。只要有了1,接下来就是靠自己不断的学习,不断逆向来提高分

2021-04-18 19:51:15 88

原创 一道node.js题目

前言昨天晚上睡前翻了一下L0nm4r师傅的博客,发现新更了一篇node.js题目的WP,看了一下还挺有意思,而且知识点是我的知识盲区,也就趁着周六也来复现了一下。源码下载:prototype_pullotion下载得到源码后自己建个库,导入test.sql,然后更改一下routes/index.js里面关于数据库的配置即可。因为实在是node.js的萌新。。。就这题看着源码来做了,萌新落泪。WP登录知识盲区。。。登录的这里: database.query( 'select * from

2021-04-17 20:44:04 581 2

原创 Ethernaut 靶场刷题(下)

Gatekeeper Two又学到了新东西。源码:pragma solidity ^0.6.0;contract GatekeeperTwo { address public entrant; modifier gateOne() { require(msg.sender != tx.origin); _; } modifier gateTwo() { uint x; assembly { x := extcodesize(caller()) }

2021-04-16 19:13:00 320 5

原创 ERC20代币学习与合约编写

前言今天刷Ethernaut遇到了一道ERC20的题目,考虑到自己还没有实际用过ERC20,以及它的编写,就花了一个晚上写了点代码,可以发现自己的币。简介也许你经常看到ERC20和代币一同出现, ERC20是以太坊定义的一个代币标准。要求我们在实现代币的时候必须要遵守的协议,如指定代币名称、总量、实现代币交易函数等,只有支持了协议才能被以太坊钱包支持。登链社区关于ERC20的API规范:代币标准还有github的英文版标准:代币标准编写代码规范中也推荐了几个比较好的实现实例:实例,

2021-04-15 20:58:03 106

原创 2019 数字经济 jojo

知识点Airdrop Hunting(薅羊毛)WP源码:pragma solidity ^0.4.24;contract jojo { mapping(address => uint) public balanceOf; mapping(address => uint) public gift; address owner; constructor()public{ owner = msg.sender; } e

2021-04-14 23:50:32 65

原创 Solidity中Storage

插槽(slot)静态大小的变量(除 映射mapping 和动态数组之外的所有类型)都从位置 0 开始连续放置在 存储storage 中。如果可能的话,存储大小少于 32 字节的多个变量会被打包到一个 存储插槽storage slot 中。通俗的理解就相当于每个合约都有一个storage,静态大小的变量都会放在其中,从位置0开始,甚至可以举个不太恰当的例子,就是编程语言中的数组,每个数组元素可能就相当于静态变量,依次存在storage(类比数组)中,从索引0开始。但是和数组不同的是,solidity的静态

2021-04-14 20:51:00 108

原创 [安洵杯 2019]不是文件上传

知识点SQL注入WP进入环境,有一个upload.php可以传文件,有一个show.php可以查看上传的列表,发现有点像是存入了数据库,再考虑到以前似乎听说过文件上传中文件名的SQL注入,就猜测这题应该其实是一个SQL注入。在filename那里尝试了一下,一开始是1.png可以,1.png'提示我必须上传图片,再考虑到show.php那里的回显,文件名是被加密的,因此猜测后端可能是把.png前面的东西单独的处理,存入了数据库,于是这样:1'.php,果然报wrong了,再试试1'or'1.php

2021-04-13 20:43:59 59

原创 Chrome 远程代码执行0Day 简单复现

前言今天学长告诉我谷歌最新版出了个远程代码执行0day:【POC公开】Chrome 远程代码执行0Day漏洞通告反正闲的没事,也本地实验一下。复现看一下推特:今天中午爆出来的,作者也在github上给出了EXP:chrome-0day影响版本是Google:Chrome: <=89.0.4389.114,确实到了最新版:开个虚拟机去虚拟机里复现一波。要求是谷歌浏览器没有开启SandBox模式,其实大部分谷歌浏览器都是开启的,可能只有少部分给关掉了。谷歌浏览器这里改一下:最

2021-04-13 20:02:17 344 2

原创 [MRCTF2020]Ezaudit

知识点www.zip泄露PHP随机数问题SQL注入WP进入环境扫一下常见的文件泄露,发现存在www.zip,下载下来:<?phpheader('Content-type:text/html; charset=utf-8');error_reporting(0);if(isset($_POST['login'])){ $username = $_POST['username']; $password = $_POST['password']; $Privat

2021-04-13 17:09:34 74

原创 0ctf 2018 ZeroLottery

知识点区块链的伪随机数问题。方法一:伪随机数攻击题目源码如下:pragma solidity ^0.4.21;contract ZeroLottery { struct SeedComponents { uint component1; uint component2; uint component3; uint component4; } uint private base = 8; addr

2021-04-13 16:14:09 242 2

原创 Ethernaut 靶场刷题(上)

前言看了一下ctfwiki上的,前面的知识点看起来还算不那么费劲,但是突然就是学个几天就开始上手比赛题属实太难了。。。所以先从简单的区块链靶场刷起,循序渐进,慢慢学习区块链的相关知识。靶场链接:The EthernautHello Ethernaut算是新手教程了,具体的前面的一些搭建,还有获取Rinkeby环境下的ETH的方式就不说了,靶场上也都说的比较清楚了。用help()可以得到一些常用的帮助,因为异步的问题,我们需要在函数前面加上await。contract可以查看合约对象:cont

2021-04-12 23:49:31 240

原创 Solidity Uninitialized Storage Pointer

前言早上做题的时候遇到了这个存储指针未初始化导致的状态变量覆盖的问题,因此来学习一下。参考文章:警惕!Solidity缺陷易使合约状态失控Uninitialized Storage Pointer原理solidity中未初始化的storage pointer有点类似C语言中的空指针。在传统编程语言中(如C, C++),对空指针(Null Pointer)的访问,通常会引起程序的报错或崩溃。空指针的值等于零,但是语言和底层系统也同时保证内存中地址为 0 的位置是不能存放有意义的值。而在例如 J

2021-04-12 15:15:19 63

原创 bytectf 2019 bet

WP源码:pragma solidity ^0.4.24;contract bet { uint secret; address owner; mapping(address => uint) public balanceOf; mapping(address => uint) public gift; mapping(address => uint) public isbet; event SendFlag(st

2021-04-12 12:21:07 67

原创 bytectf 2019 hf

知识点整形下溢出Uninitialized Storage PointerWP源码:pragma solidity ^0.4.24;contract hf { address secret; uint count; address owner; mapping(address => uint) public balanceOf; mapping(address => uint) public gift; str

2021-04-12 10:55:35 251 1

原创 Solidity Integer Overflow and Underflow

前言实际上整形溢出并不仅仅是在智能合约中出现问题,在其他的地方也有出现。只不过我感觉我好像没咋遇到过。。。还是我太菜了。。学习参考:underflow-overflowInteger Overflow and UnderflowInteger Overflow整形溢出其实还是比较常见的,尤其是编程入门学的基本就是C语言,C语言就有这样的问题。但是自己主要还是一直在接触PHP和Python,因此对于整形溢出就没那么敏感了。一个简单的例子:pragma solidity <=0.9.0;

2021-04-11 23:47:46 92 2

原创 [CISCN2019 华北赛区 Day1 Web2]ikun

WP进入环境,要求买lv6!写个脚本跑出来import requestsfrom time import *url="http://63ab8612-b1df-4ca2-85e4-e7b7c1900b7c.node3.buuoj.cn/shop?page={}"for i in range(500): r=requests.get(url=url.format(i)) if "/lv/lv6" in r.text: print(i) sleep(0.2)

2021-04-11 22:13:01 126 1

原创 Solidity 重入攻击

前言上一篇博客中的babybank就是重入攻击的一道题,做之前学习了一下重入攻击,现在再来总结一下。漏洞介绍任何从合约 A 到合约 B 的交互以及任何从合约 A 到合约 B 的 以太币Ether 的转移,都会将控制权交给合约 B。 这使得合约 B 能够在交互结束前回调 A 中的代码。官方文档里讲的就比较难懂(对于我这样的小白来说),简单来说就是,就是因为:向以太坊合约账户进行转账,发送Ether的时候,会执行合约账户对应合约代码的回调函数(fallback)。在以太坊智能合约中,进行转账操作,一

2021-04-11 19:28:28 78

原创 2019 强网杯 babybank

前言开始学习区块链的安全问题,先从这道比较简单的区块链题目入手,学习一波。WP源码:pragma solidity ^0.4.23;contract babybank { mapping(address => uint) public balance; mapping(address => uint) public level; address owner; uint secret; //Don't leak your teamtok

2021-04-11 17:04:17 443 1

原创 Solidity中 函数选择器及参数编码

学习文章应用二进制接口说明官方文档中的应用二进制接口部分内容。前面部分摘录自官方文档,主要是对后面参数编码进行学习和理解。函数选择器一个函数调用数据的前 4 字节,指定了要调用的函数。这就是某个函数签名的 Keccak 哈希的前 4 字节(高位在左的大端序) (译注:这里的“高位在左的大端序“,指最高位字节存储在最低位地址上的一种串行化编码方式,即高位字节在左)。 这种签名被定义为基础原型的规范表达,基础原型即是函数名称加上由括号括起来的参数类型列表,参数类型间由一个逗号分隔开,且没有空格。类型

2021-04-09 17:13:48 158

原创 ctfshow-Misc入门-图片篇(持续缓慢更新)

前言废物web狗只会web,结果就是比赛的时候web一道不会,其他方向也是一点也不会,菜死我了呜呜呜要开始学习一下MISC,跟着八神的MISC入门来慢慢学习,整篇文章可能不会有自己独立解出的题目(小白落泪),暂时只能跟着网上师傅们的WP慢慢的来学习MISC的图片篇中的各种隐写姿势,但是MISC的学习只是真的课余了,主要还是去学习web,大概会1-2天做1-2题,这样慢慢的学习,相信日积月累下去,自己的MISC也可以成长起来。misc1图片的内容就是flag,利用一下QQ图片的那个提取图片中的文字,就可

2021-04-08 00:17:08 708 6

原创 [虎符CTF 2021]Internal System

前言这道题当时比赛的时候拿到hint之后就不会做了,当时大致也查到了CVE-2020-9296-Netflix-Conductor-RCE这个洞,主要还是那个内网的ip不知道,此外就算知道了内网的ip,发post包那里我也会被卡住,还是太菜了。现在复现环境放在了buuctf上面,一些师傅也发了复现的WP,我参考了一下赵总和miaotony师傅的复现文章来学习了一波。拿到hint之前的内容可能会一概而过,因为比较简单,主要的难点还是后面打内网8080端口的Netflix-Conductor设备。WP访

2021-04-06 16:20:14 518 3

原创 极致CMS 1.9.2 审计与渗透测试

前言昨天看了极致CMS1.7,今天再来看看极致CMS1.9版本修复了什么漏洞,哪些漏洞还能用,是不是还有新的东西。下载链接:极致CMS这次我下的是1.9.2的稳定版。下载到本地搭建一下环境,然后就是安装。安装的时候注意到了这里:我记得1.7版本安装的时候管理员和密码默认都是空的让自己填,这里的话默认的管理员和密码格式大概是jizhicms加上四个数字,这玩意怎么说呢,说是弱口令叭,但是9999*9999也挺难爆的,去爆破还不如找洞舒服。看看后台安装好之后还是先进一下后台,登录那里发现验证码

2021-04-05 16:45:26 3660 8

原创 2021虎符初赛Web部分题解

前言这个WP还是直接复制粘贴的当时随手写的WP。。。太懒了别骂了呜呜呜。。。签到几天前PHP的那个后门,当时笑死我了的那个User-Agentt。User-Agentt: zerodiumsystem("cat /flag");unsetmefatfree框架,搜一下有一个漏洞符合,即3.7.1的代码注入,但是题目打不通,怀疑是因为版本的问题,下载3.7.3的fatfree看一下,主要是这部分:$val=preg_replace('/^(\$hive)/','$this->hive',

2021-04-05 00:36:52 454

原创 极致CMS 1.7 审计与渗透测试

前言几天前在先知上看到了Firebasky师傅在先知上发的关于极致CMS的渗透测试。这个CMS的洞虽然已经公布了很久,但是因为自己还是太菜,基本上没有怎么接触过多少CMS,因此就从网上把极致CMS下载了下来,在本地搭建了一下环境来测试。github上的极致CMS这里我下载的是1.7版本,考虑到1.9版本可能大多数的洞都修了,就不好玩了,先把1.7试一遍,再搭一下1.9版本的看看。这篇文章相对来说会很乱,因为行文的思路是我随手乱试思路了。后台上传文件本地搭建一下,设置一下管理员账号和密码,直接自己登

2021-04-04 17:31:51 114

原创 “红明谷“ 初赛 web 部分WP

前言参加了第一届红明谷的比赛,4道web当时只做出2道,第三道苦于那个数据库的密码不知道,赛后才问了别的师傅才知道是123456这个弱密码。。。草了。因为实在太懒了。。。本来不想专门写这篇WP的,因为当时做题的时候只潦草的记下了当时的wp,用的姿势可能还不是最简便的方式。但是想想,不写的话总感觉缺了点什么,所以就把我当时潦草的wp记录给复制粘贴过来了(笑),见谅见谅。happysqlban了单引号,但是查询的语句中用的是双引号,拿双引号闭合,如果登录成功的会302跳转到home.php,因此可以布尔

2021-04-03 22:44:43 492

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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