[区块链安全-CTFProtocol]区块链智能合约安全实战前言1.TheLostKitty2.RootMe3.Trickster4.TheGoldenTicket5.SmartHorrocrux6.GasValve7.Stonk8.Pelusa9.HacktheMothership!10.Phoenixtto11.MetaverseSupermarket前言这次是尝试CTF-PROTOCOL的题目,望与诸君共勉。后面应该会参考DeFiHackLabs推出对一些列攻击的POC手写和解析,同时还要参加Hackathon。大家一起努力!1.TheLostKitty题目分析:HiddenKittyC
在CTF界中,真正的Crypto高手只要一张纸一只笔以及Python环境就可以称霸全场了。(虽然是玩笑话但却是事实)当然了,密码学是整个网络安全的基础,不管你是否参加ctf类的比赛,对于密码的常识也都需要掌握,希望接下来的内容对你有所收获,也希望可以进行学习和交流,另外欢迎各位师傅的指点,鄙人不才,还请各位师傅多包涵。一个好的算法手或者数论基础极强的人经过编程培养定是优秀的Crypto选手,所以算法和数学能力尤为重要,同时Python编程功底也需要很强。当然了,现在越来越多的题目不仅仅是给你一个python文件pem文件等了,而是结合web渗透亦或者misc流量分析等综合应用了。通过目录很容易
在CTF界中,真正的Crypto高手只要一张纸一只笔以及Python环境就可以称霸全场了。(虽然是玩笑话但却是事实)当然了,密码学是整个网络安全的基础,不管你是否参加ctf类的比赛,对于密码的常识也都需要掌握,希望接下来的内容对你有所收获,也希望可以进行学习和交流,另外欢迎各位师傅的指点,鄙人不才,还请各位师傅多包涵。一个好的算法手或者数论基础极强的人经过编程培养定是优秀的Crypto选手,所以算法和数学能力尤为重要,同时Python编程功底也需要很强。当然了,现在越来越多的题目不仅仅是给你一个python文件pem文件等了,而是结合web渗透亦或者misc流量分析等综合应用了。通过目录很容易
这次开始使用upload-labs开始进行文件上传的初步练习。首先什么是文件上传以及文件上传的漏洞。通俗点来讲,就是在一些网站中需要上传照片,文档等一些文件的操作就是文件上传。而这里也同样有着大量漏洞可以利用,总的来说就是利用服务器对上传文件的过滤不严格,上传一些可以执行恶意语句的脚本并成功在服务器运行。pass1:查看提示,题目要求只能上传图片格式。而我们写的脚本是PHP。 那么为了能够上传文件,我们在文件后缀名后再加上.jpg。在网页上上传并用burpsuite抓包。在这里,将.jpg删除并发送,接着访问upload文件夹,成功上传并执行脚本。 pass2:先随便上传一个PHP文件这样
前言在ctf比赛中,misc方向是必考的一个方向,其中,图片隐写也是最常见的题目类型,在本篇文章中,将教授以下内容1.各种图片文件的头数据以及判断是什么类型的图片2.png图片隐写3.jpg图片隐写4.gif图片隐写5.bmp图片隐写6.从图片中提取文件7.lsb隐写8.盲水印9.exif隐写10.图片宽高修改……题目以及本文所使用的所有工具项目地址,环境也配置好了,一键安装即可:https://github.com/baimao-box/Misc_Picture_Steganography安装完后,可以直接在终端输入脚本名称即可运行我不喜欢一开始就在文章前面抛出一大堆生涩的原理,我个人喜欢遇
前言在ctf比赛中,misc方向是必考的一个方向,其中,图片隐写也是最常见的题目类型,在本篇文章中,将教授以下内容1.各种图片文件的头数据以及判断是什么类型的图片2.png图片隐写3.jpg图片隐写4.gif图片隐写5.bmp图片隐写6.从图片中提取文件7.lsb隐写8.盲水印9.exif隐写10.图片宽高修改……题目以及本文所使用的所有工具项目地址,环境也配置好了,一键安装即可:https://github.com/baimao-box/Misc_Picture_Steganography安装完后,可以直接在终端输入脚本名称即可运行我不喜欢一开始就在文章前面抛出一大堆生涩的原理,我个人喜欢遇
1.不知道JPG长宽爆破importzlibimportstructimportbinasciiimportosimportrefile='flag.jpg'fr=open(file,'rb').read()#print(fr)i=fr.find(b'\xff\xc0')headdata=fr[0:i+5]heightdata=fr[i+5:i+7]widthdata=fr[i+7:i+9]remaindata=fr[i+9::]print(headdata)print(heightdata)print(widthdata)#print(remaindata)path=os.getcwd()t
1.不知道JPG长宽爆破importzlibimportstructimportbinasciiimportosimportrefile='flag.jpg'fr=open(file,'rb').read()#print(fr)i=fr.find(b'\xff\xc0')headdata=fr[0:i+5]heightdata=fr[i+5:i+7]widthdata=fr[i+7:i+9]remaindata=fr[i+9::]print(headdata)print(heightdata)print(widthdata)#print(remaindata)path=os.getcwd()t
第一步,用科学计数法绕过a=1e9if(isset($a)&&intval($a)>6000000&&strlen($a)第二步,用php代码编写MD5碰撞脚本得到b=53724for($i=1;$i".md5($i);}}第三步,绕过is_numeric函数$c=(array)json_decode(@$_GET['c']);#接收json格式的字符串并将其转化为数组c={"m":"2033%00"}#使用%00可以绕过is_numeric函数第四步,绕过is_array函数c={"m":"2033%00","n":[[1]]} 第五步,绕过array_search函数c={"m":"203
一、首先是MD5()函数的作用?MD5()函数的作用是计算字符串的MD5散列。返回值:如果成功则返回已计算的MD5散列,如果失败则返回FALSE。二、PHP==弱类型比较绕过?代码:highlight_file(__FILE__);error_reporting(0);$flag="flag{H3rmesk1t_is_a_loser}";$val1=$_GET['val1'];$val2=$_GET['val2'];if(isset($_GET['val1'])andisset($_GET['val2'])){ if($_GET['val1']!=$_GET['val2']) { if((m