
Web
文章平均质量分 69
web
Y4tacker
关于我:Web安全、Java安全研究弟中弟
学校:四川大学(2019级)
写给自己:宁静致远,淡泊明志
展开
-
[WP]2021羊城杯-Web部分
文章目录写在前面WebCross The SideCheckin_GoOnly 4 (非预期解法)Only 4 (预期解法)NO SQLEasyCurl写在前面这次拿了第一还是比较开心的,一晚上没睡觉…WebCross The Side版本信息Laravel v8.26.1 (PHP v7.4.15)目录扫描应该是开启了redis联系版本号,尝试debug-rce既然有file_get_contents与file_put_contents,尝试ftp passivemode 成功出原创 2021-09-14 09:06:15 · 2058 阅读 · 1 评论 -
[代码审计]蝉知企业门户系统v7.7存在命令执行漏洞
文章目录写在前面分析蝉知企业门户系统 V7.7存在命令执行漏洞写在前面感想BUUCTF平台之前没打GKCTF这次跟着复现一次,学会了新东西分析蝉知企业门户系统 V7.7存在命令执行漏洞可以看见相较于上一个版本多了一个需要文件存在才能进行模板修改我们可以在system/module/common/model.php下面找到,其下面调用的是file_exists,这个函数可以使用文件或者文件夹绕过而刚好微信模块就存在此功能,点击设置,微信设置,下面先随便填写保存再点击已完成接入在原始I原创 2021-07-18 10:05:59 · 2124 阅读 · 5 评论 -
[代码审计]信呼协同办公系统2.2存在文件上传配合云处理函数组合拳RCE
文章目录写在前面漏洞分析脚本写在前面本次强网杯决赛的一个题,还是蛮有意思的漏洞分析首先这个系统存在弱口令,在题目给的sql文件当中通过在线md5破解得到test/abc123接下来就是随便找一个地方进行文件上传我们抓包看看对这个php文件进行了什么处理,其调用了webmain/task/api/uploadAction.php下uploadClassAction类的upfileAction函数引入插件,实例化upfileChajian类跳过不需太过于关注的部分,我们跟踪up函数看看原创 2021-07-12 16:07:54 · 5725 阅读 · 4 评论 -
[Java-sec-code学习]SSRF
文章目录前言SSRF修复方式前言今天预览版把我电脑搞崩了破防了CPU占用率100%,还好可以回滚版本,当然虽然是最简单的漏洞,但是底层代码我也觉得值得学习,一切从0开始SSRF其实闭着眼睛都知道支持file协议但是我还是想要分析一下漏洞点位于org/joychou/controller/SSRF.java下跟进这个URLConnection方法他把url参数首先传入构造函数里,接着调用openConnection方法很明显我们传入参数不满足上面条件进入else循环调用构造函数原创 2021-06-27 16:55:53 · 848 阅读 · 0 评论 -
[PHP代码审计]iWebShop开源商城系统V5.9.21010存在命令执行漏洞
@Y4tacker文章目录写在前面iWebShop5.9存在命令执行漏洞目录结构漏洞演示及利用写在前面感兴趣的师傅可以去CTFSHOW复现iWebShop5.9存在命令执行漏洞本漏洞是后台权限,配合sql注入导致的文件删除,之后导致可重装从而实现RCE目录结构漏洞演示及利用该漏洞的利用比较巧妙,首先我们登录后台,点击添加商户功能这里添加一个y4tacker/y4tacker,记得开通功能,这里先备用接下来我们访问,用刚刚的商户账号登录即可http://url/index.php?c原创 2021-06-18 16:32:12 · 2326 阅读 · 2 评论 -
[PHP代码审计]emblog6.0.0存在SQL注入漏洞
文章目录写在前面漏洞利用写在前面上个水课,发现cnvd上面有个新的emblog的洞,这里简单复现分析下,算是个简单的适合新手学习的洞了漏洞利用漏洞点在后台添加自定义导航处对应代码在admin/navbar.php下第77行,能看见在这里接受POST传入的pages参数,遍历调用addNaviif ($action== 'add_page') { $pages = isset($_POST['pages']) ? $_POST['pages'] : array(); if (e原创 2021-06-08 08:43:11 · 1062 阅读 · 0 评论 -
[PHP代码审计]LightCMS1.3.7存在命令执行漏洞
文章目录写在前面利用姿势分析写在前面之前就想复现来着了,后来给我忘了,今晚补上吧利用姿势首先用phpggc生成一个phar,当然嫌弃懒的话可以用这个<?phpnamespace Illuminate\Broadcasting{ class PendingBroadcast { protected $events; protected $event; public function __construct($events,原创 2021-06-07 23:39:49 · 976 阅读 · 5 评论 -
[SCU校赛]Web部分-Writeup
文章目录写在前面入门fastapishell野兽先辈的文件Bypass_waf解法一解法二uploadez_uploadeasy_yii写在前面我出的题不太难,但是有意思,这里出个部分wp入门fastapi本来是作为一个签到题出的,事实上也是首先看到官网,有个能查到api的地方得到路径看到参数名,想到后端是eval,题目里面打错了是f10g,直接当然SSTI的方式也可以打出来,自己去找找学一学,看看我的这一篇shell倒是不难,出了点小事故后面又放了新的,这里写下预期preg原创 2021-06-07 16:57:06 · 4138 阅读 · 6 评论 -
[PHP代码审计]BigTreeCMS4.4.10-RCE
文章目录BigTreeCMS4.4.10-RCEBigTreeCMS4.4.10-RCE首先在后台add setting通过POST传入,csrftoken可能需要自己抓个包__csrf_token_TVLJG51HR1FP6KW15L0F3RY7LUHBPYDF__=IjwQ6eoeAzbUgSB8qm9Hq3A4fKQqDfEU5WD159HYFG4=&id=Test rce&name=Test rce&type=list&settings={"list_typ原创 2021-06-06 16:23:07 · 707 阅读 · 6 评论 -
[PHP代码审计]Piwigo11.4.0存在SQL注入漏洞
文章目录Piwigo11.4.0存在SQL注入漏洞写在前面分析Piwigo11.4.0存在SQL注入漏洞写在前面国内的不够玩了,玩玩国外的,不过刚找到一个最后告诉我,被交了,好吧为了高大一点教大家一个收集自己装备库的方法分析我们查看提交记录,点我直达,发现有一个fix是关于sql注入的那么我们安装好以后去看一眼,首先是首行的两个参数过滤觉得很好玩给大家看一眼限制为数字,好了不多吹牛逼了,看下面正题首先是接收order参数保证二维数组的[0][column]有值并赋值给变量$col,原创 2021-06-03 14:19:09 · 1126 阅读 · 5 评论 -
[PHP代码审计]由S-CMS5.0最新SQL注入带来的审计新思路
文章目录写在前面审计写在前面目前已交CNVD,出于其影响综合考虑,想了几天还是打算分享给大家,希望给大家带来更多的启发前几天挖了一下S-CMS的SQL注入,这里不得不引起我的一个思考,很多时候开发者只是误认为自己的全局Waf很安全,其实并不是,接下来我们就来看看这个SQL注入,当然这个CMS还有其他注入方式这里只是因为觉得这个点好玩所以才发这篇文章,只是想告诉大家,全局waf的错误对整个CMS来说都是致命的审计在这个CMS很多请求都是通过admin/ajax.php去实现,我们来看看头部,引入了三原创 2021-06-02 13:12:43 · 1015 阅读 · 3 评论 -
[Java反序列化]Javacc链6分析
文章目录写在前面GadgetsJavaCC链6分析利用链参考文章写在前面感觉看完了cc链1以后cc链6就突然变得很简单了(来自P神的简化链,这里我修改了一丢丢),那么就开始学习了Gadgets/* Gadget chain: java.io.ObjectInputStream.readObject() java.util.HashMap.readObject() java.util.HashMap.hash() org.apache.commons.collections.k原创 2021-06-02 00:00:21 · 1313 阅读 · 2 评论 -
[JAVA反序列化]Javacc链1分析
文章目录写在前面动态代理简单介绍动态代理的实现JavaCC链1解读参考文章写在前面这几天算是好好一边审计PHP的一些CMS一边啃Java的代码,终于能看懂CC链1的构造流程了动态代理简单介绍在JavaCC链1的构造中,动态代理起了很关键的作用,这里来进行简单介绍,Java标准库提供了动态代理的机制,其可以在运行期动态创建interface的实例,直接从demo来理解首先我们来个通常写代码的方式我们先来一个一个接口,本CTF狗来个Flag吧interface flag { void g原创 2021-06-01 20:50:04 · 2157 阅读 · 6 评论 -
[PHP代码审计]emlog6.0.0整站审计
文章目录写在前面EmlogSQL注入注入点1注入点2注入点3文件上传漏洞利用点1任意文件删除漏洞任意文件删除1任意文件删除2(一不小心发现个洞交CNVD了)漏洞太多了就这样了,躺平了写在前面随便花了点时间读完了代码,看了很多页面,至少前台也是比较安全的,主要是测试了sql注入xss之类的,那么就去后台看看,作者还是比较有水平的,蛮细心的;节约时间,不带师傅们从起点分析过滤啥的,有用到再提,本篇算是一次随意的审计练习吧!也算是带师傅们踏入一次简单的审计之旅!当然可能也有遗漏的漏洞,毕竟是自己审计出来的原创 2021-05-31 22:08:04 · 1255 阅读 · 6 评论 -
[MTCTF]从出题人视角看ez_cms
文章目录写在前面DockerhubWp写在前面太惨了,太傻了我,迷迷糊糊写了两天CMS,又累又自闭,还搞错了东西,给各位大师傅们道歉了,下面大师傅们要是瞧得上的化就那啥可以复现复现Dockerhubdocker pull y4tacker/ez_yxcms:1.0随便写个docker-compose.ymlversion: "2"services: web: build: . image: yyds restart: always ports:原创 2021-05-23 22:37:09 · 1525 阅读 · 2 评论 -
[代码审计]极致CMS底层代码剖析(FrPHP框架)
文章目录写在前面FrPHP目录结构CommonError.php写在前面为什么会写到这个呢,其实最重要的原因是我不太想去挖低级漏洞了,更希望能够从框架底层去挖漏洞提交,因此产生了这篇文章,当然由于各个版本的FrPHP核心逻辑不变,我这里用较低版本号的1.6.6去进行分析FrPHP目录结构common 包含系统部分配置、核心公共函数集、错误渲染页面db 数据库语句的封装Extend 拓展类所在目录lib MVC基类Fr.php FrPHP框架核心加载文件接下来我们就从各个目录去分析原创 2021-05-13 15:38:59 · 1286 阅读 · 0 评论 -
[CTF].htaccess的使用技巧总结
文章目录前言.htaccess什么是htaccess文件简介其他实用指令自定义出错界面SetHandler和ForceTypeAddHandlerAddTypephp_valuephp_flagTrick总结利用404页面文件包含本地文件包含远程文件包含可以利用伪协议htaccess自己解析自己目录下有php文件无php文件文件解析配合一句话木马Cgi执行FastCgi执行利用报错信息写马绕过exif_imagetype()上传.htaccess\号绕过waf\号绕过藏字符参考文章前言这周参加了津门杯,原创 2021-05-11 20:58:15 · 13085 阅读 · 24 评论 -
[代码审计]极致CMS1.9.5存在文件上传漏洞
文章目录极致CMSv1.9.5存在文件上传漏洞前言分析极致CMSv1.9.5存在文件上传漏洞前言网上看到CNVD爆了,自己闲的没事做也稍微找一下,蛮简单的也挺常见的分析准备工作首先本地创建一个php文件,这里我用1.php,内容为<?php eval($_POST[1]);?>之后把这 个文件压缩为zip后缀压缩包,上传至公网服务器即可,压缩包结构如下所示漏洞利用点在后台插件安装处,我们任意点击一个插件点击安装抓包发现url参数可控在A/c/PluginsControll原创 2021-05-11 10:29:03 · 3997 阅读 · 3 评论 -
[代码审计]Weiphp5.0 前台文件任意读取分析
文章目录前言分析前言最近一直在刷CNVD吧,大概两周刷了四页多,感觉自己水平也在见着长高,今天来分析一下Weiphp,毕竟也很久没写过博客了分析漏洞所在的函数为application/material/controller/Material.php下的_download_imgage函数,正好这是一个public方法,根据thinkphp的路由规则我们不难得到传参方式,这里直接先给出exp然后继续分析好吧http://ddcms.top//public/index.php/material/Ma原创 2021-05-09 17:57:03 · 1398 阅读 · 6 评论 -
[代码审计]DuxCMS 2.0审计
文章目录DuxCMS 2.0审计后台登录页存在用户名密码爆破后台页面存在文件上传漏洞看到CNVD爆出看了下easy的DuxCMS 2.0审计后台登录页存在用户名密码爆破用户名不存在会爆不存在,验证码与token绑定不过期import requestsimport timeurl = 'http://y4y4.top/s/system/Login/index'data = {'username': 'adminzzz','password': 'zzzaddsadsadsaasd','原创 2021-04-19 15:50:03 · 1078 阅读 · 0 评论 -
[代码审计]OurPHP后台任意文件删除漏洞分析
文章目录前言分析前言前几天爆出OURPHP有个后台任意文件删除漏洞,考虑到危害性不太大的情况下对此进行分析分析我们来删除这个我自己创建的文件夹漏洞点在client/manage/ourphp_bakgo.php中,首先这里有个eval会执行这俩函数,但是前面那个有exit所以我们得绕过它,随便GET请求传入一个值即可我们删除文件需要到第520行,来看看需要哪些参数首先是最外层的嵌套,$_POST[back_type]=="partsave"和$_POST['action']=="datab原创 2021-04-17 14:01:13 · 739 阅读 · 2 评论 -
[代码审计]kitecms后台存在文件上传漏洞
文章目录前言利用方式分析前言今天在CNVD看到这个东东,考虑到危害不大,因此就在这里分享分享利用方式这个漏洞后台很多地方都存在,然后首先/admin/site/config.html?config_name=uploadFile,在这里设置图片后缀为php,之后可以在带图片上传的地方,通过burp抓包绕过前端验证后,改为php后缀以及添加GIF89a,即可成功利用分析首先网站会根据你的账户权限在session当中设置site_id(这里不做分析,有兴趣可以自己看看蛮有意思),在admin/sit原创 2021-04-16 14:48:30 · 957 阅读 · 0 评论 -
[CTFSHOW]中期测评WP(差512和514)
前言这篇wp主要以引导为主,拒绝无脑抄web486简简单单目录穿越http://81db964b-a4d8-42eb-bc64-b31e47af7fde.chall.ctf.show:8080/index.php?action=…/flagweb487首页adction能够读取代码,我读完了所有代码发现只有http://81db964b-a4d8-42eb-bc64-b31e47af7fde.chall.ctf.show:8080/index.php?action=…/index里面代码游泳原创 2021-04-15 20:54:24 · 1315 阅读 · 1 评论 -
[代码审计]KYXSCMS后台GetShell分析
@Author:Y4tacker@Time:2021/4/15kyxsCMS后台getshell昨晚看到可以Getshell那就看看呗,首先只能说在后台所以利用条件太高了准备工作首先去http://bbs.kyxscms.com/?t/1.html下载该漏洞版本,然后记得配置伪静态,kyxscms官方有问题location / { if (!-e $request_filename){ rewrite ^(.*)$ /index.php?s=$1 last; break;原创 2021-04-15 09:34:25 · 764 阅读 · 0 评论 -
[代码审计]WXCMS0.3.2
@Author:Y4tacker@Time:2021/4/14文章目录前言WCMS跨站脚本漏洞以及任意文件读取修改WCMS服务器端请求伪造漏洞WCMS跨站脚本漏洞(CNVD-2021-28256)前言今天CNVD刚爆出一个老洞,不是很理解这算刷分吗他们,下面的链接都是我自己本地的地址,不是真实地址,请勿瞎搞WCMS跨站脚本漏洞以及任意文件读取修改首先我分析了跨站脚本漏洞,一开始还以为是XSS,结果点开一看吓一大跳漏洞点在于,这里面$GLOBALS['pagename'];参数是可以控制的&l原创 2021-04-14 21:42:35 · 657 阅读 · 1 评论 -
[CTFSHOW]sqli-labs
文章目录前言web517web518web519web520web521web522web523web524web525web526web527web528web529web530web531web532web533web534web535web536web537web538web539web540前言由于都是简单题就随便写了,SQL注入不懂的百度先学最基本的吧web517注意flag不在当前security里union select group_concat(schema_name) from原创 2021-04-08 23:13:15 · 1850 阅读 · 1 评论 -
[SQL注入技巧]配合Python-Flask的中转注入
以本次虎符CTF为例,我们在进行常规SQL注入的时候,会遇到这几种情况①常常会因为构造网络请求麻烦②写tamper嫌麻烦这时候我们的中转注入就来了,这次的虎符CTF比赛当中有一个Web题需要我们频繁构造gopher去实现POST或者GET请求,这时候如果我们想要实现更自由的SQL注入,便可使用,下面直接放上脚本,请自行理解,一点不难from flask import Flask,requestfrom urllib.parse import quoteimport requestsdef原创 2021-04-05 10:19:14 · 1965 阅读 · 3 评论 -
2021虎符CTF-Web前三题
文章目录web签到unset慢慢做管理系统web签到一个最近刚爆出来的php后门,直接一把梭User-Agentt: zerodiumsystem("cat /flag");unset一开始百度搜一下发现是fatfree框架,然后github一瞬间获取源码,本地搭建发现报错嘻嘻syntax error, unexpected '.', expecting :: (T_PAAMAYIM_NEKUDOTAYIM) [G:\phpstudy_pro\WWW\yyds.top\lib\base.ph原创 2021-04-04 09:58:56 · 1588 阅读 · 4 评论 -
Flask内存马
文章目录前言前置知识app.add_url_rule()函数lambda表达式正文参考文章前言只是感觉比较好玩,索性简单学习了下,还蛮有意思前置知识app.add_url_rule()函数一个简单的用法app.add_url_rule('/index/',endpoint='index',view_func=index)add_url_rule三个参数解释:第一个参数:函数对应的url规则,满足条件和app.route()的第一个参数一样,必须以’/'开始endpoint:站点,就是在使原创 2021-03-30 18:13:12 · 1008 阅读 · 1 评论 -
python-shellcode加载器初体验
@Author:Y4tacker文章目录python-shellcode加载器流程函数介绍VirtualAllocRtlMoveMemoryCreateThreadWaitForSingleObject实战python-shellcode加载器主要是利用ctypes库来调用windows的api来完成加载shellcode的操作流程将shellcode加载进内存并执行函数介绍VirtualAlloc申请内存调用VirtualAlloc函数,来申请一块动态内存区域。VirtualAlloc函数原创 2021-03-28 16:52:27 · 2344 阅读 · 1 评论 -
NepCTF2021-Web部分(除画皮)
文章目录little_trickfaka_revengeEasy_Tomcatbbxhh_revenge非预期预期little_trick打开环境发现代码是这个,太简单了,签到题<?php error_reporting(0); highlight_file(__FILE__); $nep = $_GET['nep']; $len = $_GET['len']; if(intval($len)<8 && strlen($nep)<原创 2021-03-22 22:30:32 · 3449 阅读 · 7 评论 -
VNCTF2021[WEB]
文章目录前言Ez_gamenaiverealezjvavEasy_laravel前言这次比赛题目质量很好,本菜鸡做出了两道web题目,还是比较开心,只是赛后复现laravel一天半也没有成功,我好自闭啊Ez_game在game.js里面发现,直接放到console里面跑,得到flag["\x66\x69\x6c\x74\x65\x72"]["\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72"](((['sojson.v4']+[])["\x63\x6f\x6原创 2021-03-18 15:04:14 · 3801 阅读 · 1 评论 -
[VNCTF 2021]naive
[VNCTF 2021]naive拿了一个二血开心亮点nodeJs的ES6特性import及其动态加载特性Wp首先打开题目是一个计算器,以为是常规的审计Node去实现逃逸啥的,后来发现不是在源代码当中发现,存在任意文件读取,先放一边app.use("/source", (req, res) => { let p = req.query.path || file; p = path.resolve(path.dirname(file), p); if (p.includes("原创 2021-03-15 20:25:49 · 2650 阅读 · 7 评论 -
[PHP]PDO的ATTR_EMULATE_PREPARES属性带来的安全问题
@Author:Y4tacker@time:2021/01/27 11:10 AM.PDO的ATTR_EMULATE_PREPARES属性带来的安全问题这次的思考来源于我昨天对TP5.0.9进行SQL漏洞复现的时候所引发的思考当时在PDO的prepare编译阶段报错直接抛出异常之后,在页面居然发现sql被执行了!!!因为我们知道PDO分为三个阶段,prepare,bindParam和execute,如下所示<?php $dsn = 'mysql:dbname=test;host=l原创 2021-02-27 11:18:24 · 3466 阅读 · 6 评论 -
[PHP]ThinkPHP5.0.9SQL注入分析
ThinkPHP5.0.9SQL注入分析虽然有点鸡肋但是思路还是值得学习,首先写个控制器,这个Id一定要大写I<?phpnamespace app\index\controller;class Index{ public function index() { $id = input("id/a"); $data = db("users")->where("Id","in",$id)->select(); dump(原创 2021-02-26 21:56:35 · 481 阅读 · 0 评论 -
[PHP] ThinkPHP3.2 order by注入分析
本篇是ThinkPHP3.2系列的最后一篇了,终于告一段落了我首先还是放payload吧?username=admin&order[updatexml(1,concat(0x3a,user()),1)],当然为了复现简单写个控制器吧,这个漏洞利用点就是最后拼接sql语句的时候的parseOrder方法没有进行过滤造成的<?phpnamespace Home\Controller;use Think\Controller;class IndexController extends C原创 2021-02-26 10:11:40 · 1044 阅读 · 0 评论 -
[PHP] ThinkPHP3.2find(),select(),delete()注入分析
ThinkPHP3.2find(),select(),delete()注入分析find()注入分析第一步,exp列出之无敌开心快乐,个人认为漏洞出现在_parseOptions中没有对参数进行过滤exp:id[table]=users where 1 and updatexml(1,concat(0x7e,user(),0x7e),1)--id[alias]=where%201%20and%20updatexml(1,concat(0x7e,user(),0x7e),1)--id[where]=原创 2021-02-26 10:07:36 · 712 阅读 · 0 评论 -
[WRITEUP]第一届四叶草网络安全学院牛年CTF大赛WRITEUP
第一届四叶草网络安全学院牛年CTF大赛WRITEUP队伍信息战队名称战队成员姓名:Firebasky、Y4tacker、lastsward、atao、m1n9yu3解题情况战队排名答题情况WebWebGET首先传?flag=1,发现似乎是smarty,测试{$smarty.version},成功过滤cat,用tac发现是smarty注入简单了那就flag={if passthru(“tac fl*”)}{/if}即可获得flagWEBsite首先打开页面看到接收url参数,是ssrf考原创 2021-02-26 10:04:15 · 3680 阅读 · 4 评论 -
ThinkPHP3.2不规范接收参数导致的SQL注入分析之exp
本篇文章首先是讲解利用,之后会讲解I函数为什么能绕过过滤前提是tp没有用I函数去接收参数,具体原因会在分析之后给出先给出测试的payload,u[0]=exp&u[1]==%27admin%27接下来我们去分析首先看看我们index页面,看看我们的语句M就不必多说上一篇已经讲过了,返回一个users模型的对象,我们直接跟进where函数,看看接收的参数username为数组因为是数组原因所以只执行这一句赋值返回$this接下来进入find()也就是我们的关键,继续跟进首先mer原创 2021-02-24 18:04:18 · 682 阅读 · 0 评论 -
[HITCON 2016]Leaking沙箱逃逸学习
[HITCON 2016]Leaking沙箱逃逸学习node.js 里提供了 vm 模块,相当于一个虚拟机,可以让你在执行代码时候隔离当前的执行环境,避免被恶意代码攻击。但是这道题比较有意思考点是:node.js中VM2沙箱逃逸JS通过Buffer 类处理二进制数据的缓冲区首先给出了题目的源码"use strict";var randomstring = require("randomstring");var express = require("express");var {原创 2021-02-23 21:25:17 · 920 阅读 · 0 评论