- 博客(18)
- 收藏
- 关注
原创 不用字母和数字构造webshell
前言最近做题的时候遇到了许多过滤了字母和数字的代码执行,参考了一些大佬的文章后,就想自己写一篇文章来总结一下不用字母和数字构造webshell的姿势。测试代码<?php$c=$_GET[1];if(preg_match('/[0-9]|[a-z]/i',$c)){ die("error");}eval($c);?>本文所总结的姿势均用此代码测试。1 位运算因为不能用字母数字,所以我们可以通过取反,或,异或等位运算利用特殊字符构造出字母数字,再利用php
2021-01-21 17:36:59 846
原创 文件包含骚姿势——利用session.upload_progress进行文件包含
利用session.upload_progress进行文件包含
2020-12-25 16:46:28 2082 1
原创 初探无参数RCE
概念所谓无参数RCE,就是通过没有参数的函数达到命令执行的目的。这类题目的关键代码一般长这样,后面都用这串代码当题目测试<?php if(';' === preg_replace('/[^\W]+\((?R)?\)/', '', $_GET['exp'])) { eval($_GET['exp']); }?>简单解释一下这串代码。这串代码就是检查了我们通过GET方式传入的exp参数的值,如果传进去的值是传进去的值是一个字符串接一个(),那么这个字符串就会被替换为空
2020-12-07 22:37:59 2849 3
原创 buu做题笔记——[安洵杯 2019]easy_web
BUU[安洵杯 2019]easy_web[安洵杯 2019]easy_web进入题目就是这样一个页面,先看下源码这里有一个提示,这题应该跟md5有关,这时我注意到了URLhttp://60c3d800-d438-4c23-87c2-dbee32a9e363.node3.buuoj.cn/index.php?img=TXpVek5UTTFNbVUzTURabE5qYz0&cmd=这个img参数后面应该是个编码后的文件名,然后源码里就会出现base64编码的文件内容将img参数的值解码
2020-11-30 21:40:00 1387 1
原创 浅谈HTTP协议
前言HTTP协议,全称Hyper Text Transfer Protocol(超文本传输协议)。HTTP协议是基于TCP/IP协议的应用层协议,规定了客户端与服务器之间的通信格式,默认使用80端口。HTTP采用了经典的客户端-服务器模型,客户端与服务器连接并发出请求,然后等待服务器响应。除此之外,HTTP是一个无状态协议,服务器并不会保留连接所传输的信息。HTTP发展历程HTTP从最初的HTTP/0.9到现在最常用的HTTP/1.1,历经了几个版本,功能也越来越强大。HTTP/0.9这个版
2020-11-29 20:42:53 443 1
原创 HECTF2020web部分题wp
HECTF签到ezphpssrfmexiazhu这两周太忙了,考试和实验都堆在一起了,人没了。上周末抽空做了一下HECTF,签到关机一气呵成。签到点一下忘记密码然后就输入手机号,并输入四位验证码。手机号可以在登陆界面的注释中找到,这里说是四位数验证码,那就应该是爆破了。菜鸡的脚本附上import requestsurl1='http://121.196.32.184:8080/findpass.php?num=15970773575&check='url2='&next=%E
2020-11-25 20:38:27 1785 5
原创 buu做题笔记——[网鼎杯 2018]Fakebook
BUU[网鼎杯 2018]Fakebook[网鼎杯 2018]Fakebook进入题目就只有login和join两个按钮我们先创建一个用户。这里注意blog需要是个网址,不然会注册失败。注册成功后就能在列表中看到,这个和之前做的SWPUCTF2019 wb1很像,一开始我以为也是个二次注入,就在这试了一会儿,结果发现不是。我们点开自己注册的用户。发现url上有个no参数,有可能存在注入,加个单引号试试。有报错,应该是存在注入的。试了一会发现这个参数没有被单引号包裹,直接注就行。但是在联
2020-11-16 21:19:53 277
原创 SQL注入之无列名注入
无列名注入概念原理利用概念在我们进行sql注入的时候,有时候information_schema这个库可能会因为过滤而无法调用,这是我们就不能通过这个库来查出表名和列名。这时我们可以通过两种方法来查出表名:InnoDb引擎从MYSQL5.5.8开始,InnoDB成为其默认存储引擎。而在MYSQL5.6以上的版本中,inndb增加了innodb_index_stats和innodb_table_stats两张表,这两张表中都存储了数据库和其数据表的信息,但是没有存储列名。sys数据库在5.7以上
2020-11-10 20:57:10 4330 1
原创 buu做题笔记——[WUSTCTF2020]朴实无华&[BSidesCF 2020]Had a bad day
BUU[WUSTCTF2020]朴实无华robots.txtresponselevel 1level 2level 3[BSidesCF 2020]Had a bad day[WUSTCTF2020]朴实无华robots.txt进入题目界面就一个Hack me,抓包也没看到啥有用的。dirsearch开启 ! 扫一扫有没有什么有用的,但是全都429,只能手动扫描了。备份文件,git泄露,robots协议…全都试一遍 。终于在robots.txt里找到了有用的东西。response访问是一个有
2020-11-07 20:26:21 707
原创 buu做题笔记——[网鼎杯 2020 朱雀组]phpweb&[SWPU2019]Web1
BUU[网鼎杯 2020 朱雀组]phpweb[网鼎杯 2020 朱雀组]phpweb页面看不出啥,抓个包看看。从包中我们可以看到,传递了两个参数,func和p。func的值是date,再结合p的值,我猜测这里是用了call_user_func()来回调函数,即将func的值当作函数名,p的值当作参数。那么我们直接使用system函数查看当前目录下的文件回显Hacker,应该是被waf拦了,用highlight_file()看一下源码<?php $disable_fun = arr
2020-11-06 20:11:31 1547 1
原创 buu做题笔记——[BJDCTF2020]ZJCTF,不过如此&CISCN2019 华北赛区 Day2 Web1]Hack World
BUU[BJDCTF2020]ZJCTF,不过如此CISCN2019 华北赛区 Day2 Web1]Hack World[BJDCTF2020]ZJCTF,不过如此题目源码<?phperror_reporting(0);$text = $_GET["text"];$file = $_GET["file"];if(isset($text)&&(file_get_contents($text,'r')==="I have a dream")){ echo "<
2020-11-05 20:40:29 399
原创 buu做题笔记——[BJDCTF2020]Mark loves cat&[MRCTF2020]Ez_bypass&[GKCTF2020]CheckIN
BUU[BJDCTF2020]Mark loves cat[MRCTF2020]Ez_bypass[BJDCTF2020]Mark loves cat进入题目是一个博客首页点了半天没找到可以利用的点,用dirsearch扫一下扫到.git目录,用Githack把源码down下来看一下关键代码//flag.php<?php$flag = file_get_contents('/flag');//index.php<?phpinclude 'flag.php';
2020-11-05 15:57:19 641 2
原创 2020湖湘杯 wp
2020湖湘杯 wpweb题目名字不重要反正题挺简单的NewWebsite今天打了下湖湘杯,签到选手上线。web题目名字不重要反正题挺简单的题目源码 <?phperror_reporting(0);//I heard you are good at PHPINFO+LFI, flag is in flag.php, find it my dear noob vegetable hacker.if ( isset($_GET['file']) ) { $file = $_GET
2020-11-02 17:13:10 1995 2
原创 buu做题笔记-[GYCTF2020]Blacklist
[GYCTF2020]Blacklist进入题目就给了一个提交框,输入1提交一下感觉应该是sql注入,进行尝试存在注入点,继续操作顺利查出字段数为2,但是继续的时候就遇到了问题发现过滤了select,绕了好久都没有绕过去,就换了个思路,使用堆叠注入。顺利查出表名,接着查字段ok,接着就是查字段内容了,因为这题和强网杯2019的随便注很像,我刚开始就直接用的set赋值变量变量来解。我的payload是这样的1';set @a=concat('sele','ct flag from FlagHe
2020-10-31 14:10:06 464 1
原创 攻防世界 web新手练习区题解 下
攻防世界 web新手练习区题解 下simple_phpget_postxff_refererwebshellcommand_executionsimple_jssimple_php题目直接给出了源码,我们直接来分析一下,首先题目是要求我们通过get方式传递一个名为a和一个名为b的参数,并分别赋值给$a,$b。第一个判断是$a=0并且$a不能被判断为false。本地搭一个测试页面。访问一下,并传递值为0的a参数可见,$a被判断为了false。这里我们应该看到它使用的比较符==,看一下官方文档。
2020-10-30 16:49:57 700 4
原创 攻防世界 web新手练习区题解 上
攻防世界 web新手练习区题解 上view_sourcerobots前置知识-robots协议解题backupcookiedisabled_buttonweak_authview_source题目描述:X老师让小宁同学查看一个网页的源代码,但小宁同学发现鼠标右键好像不管用了。从题目描述就知道是让我们查看网页源代码,但是又说鼠标右键坏了,那么就可以f12一件查看源码成功拿到flagrobots题目描述:X老师上课讲了Robots协议,小宁同学却上课打了瞌睡,赶紧来教教小宁Robots协议是什么吧。
2020-10-29 22:33:06 1403 5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人