实例3——校趣多打卡 思路

对自己的身体负责

前言

因为每天打卡很麻烦又容易忘,所以想到做这个

微信小程序本质就是网页,用的是JS+CSS+HTML5语言,但正常游览器是打不开的,之前托人整了一份校趣多小程序的源码,但并没有找到有用的东西,手机上抓包也抓不到数据。听闻新版PC版微信能打开小程序就立刻整来看了

过程

之前早有猜想打卡就是个POST发包,包里带上json格式文本就是我们打卡的内容,实际上发的是POST的默认格式 x-www-form-urlencoded ,原理都是一样的,所以我们要做的就是找到发到了哪,然后模拟发包就好了

通过电脑抓包软件我们可以看到,进小程序时,我们发送了3个包,这里用了authcode的加密运算,看返回可知得到了我们的用户信息,比如学号,名字等

/api/auth/weChatLogin
/api/auth/getUserInfoByAuthCode/
/api/auth/getContentList

当点击健康打卡,
/api/redirect/d3b47307f6a104332ac6d14b8b22060d8d1998874c69809fe51b58e03eb8209686054713c0f3153ec74f6da8dffdc349/go?authCode=
我们可以看到访问时依旧带了authCode,然后返回了一个了https://mps.zocedu.com/corona/submitHealthCheck 前缀的链接并进行302跳转,跳转过去后会发现返回了一个cookie,Set-Cookie: JSESSIONID=XXXXX 而这个cookie就是我们打卡要传过去的,也就是告诉服务器,我们打卡打的是哪个账号

点击打卡,可以看到用POST访问/corona/submitHealthCheck/submit,请求头带上cookie, 带上格式是 x-www-form-urlencoded的 数据包 ,数据包里便是我们打卡的内容

第二个显示cookie的地方,详见评论

打卡程序

链接: https://github.com/hd80606b/xiaoquduo

为了方便使用windows自带的计划任务来循环打卡,以及QQ机器人监控完成状态,特意写的是控制台程序,具体的如何操作看看github吧,那边的md文件写的很详细了

感谢评论的提醒,这里是需要开启https监听的,在Tools—Fiddler Options—HTTPS中勾选“Decrpt HTTPS traffic”即可,如图

教育SRC

努力了一个月,拿到了SRC的第一张证书

”阅读全文”

这里也没有什么经验可以分享的,只能说教育的SRC相对比企业的好挖的多,边缘资产往往是重灾区,看师傅们的文章可以学到不少经验,虽然自己没有碰上过罢了

人们常说技高人胆大,确实,我这看到上传点也不敢去测,主要是因为不会,能百度到的马早已过时了,往往传不上去;测sql注入,用sqlmap跑,直接把网站直接给跑崩了,怕了怕了。等级到正式白帽子的时候(截止3月23日),要师傅帮忙统计出一张表发现基本就是水平权限绕过和越权还有弱密码了

有人就问我,我这挖掘过程都用了哪些工具,我就这样说,纯粹只有游览器和postman,游览器F12调出开发者工具用于抓包,postman用于回发post包,下了sqlmap,但未能成功一例,也下过nmap,也没有扫出有用的端口,弱密码,真的全是手动测试,当时上音的弱密码洞,我就硬在那里手动测试了300多个号

挖洞,往往就是耐心和细节还有信息收集,自己不写安全方面的文章,纯粹也只是因为没特别的技术,写不出有观感的,都是些抓包层面的产物。像大佬的文章,写sql注入就会涉及waf绕过,写getshell就会涉及各种传马和发现的过程,我这抓包只是其中一个过程

最后贴一下自己的界面:https://src.sjtu.edu.cn/profile/9111/
希望有师傅能带带我,学习一下关于getshell的知识

”折叠”

新年快乐/一年的总结

在这里先祝大家新年快乐啊,现在是大年初六,只要大年初七之内就算是年(确信)

”阅读全文”

一定不是因为我懒,所以没有更新,去年(2020年)发生了很多事,也算是大学以来最有收货的一年

上半年的疫情,之前也说了,下半年就是整学校的服务器(虽然最后只给了个院级荣誉),重写机器人插件,顺便临时用unity做了个小游戏拿去参加学校比赛,结果有课错过,又赶上硬盘爆炸,工程文件直接打不开,最后就留下了个成品,至少没有加密,可以直接反编译拿出之前写的代码,这也是为之后打算自己做独立游戏的试水作品,也算是知道要做好一款游戏是真的艰难,尤其是关卡设计方面,如果有想玩的,可以在底下留言(可能就入门水平,实质是看了你B上的教程跟着做的,然后再自己创意了点东西,估摸着也没啥人会看?)

从工程文件来看整个游戏,2个场景,28个脚本

关于反编译,之前也没写过,这里就之前引用我去年写在steam的一篇指南:https://steamcommunity.com/sharedfiles/filedetails/?id=2340011757
这篇指南是针对 Outer Wilds  这个游戏,我在指南里写了是如何反编译代码,并进行修改,将某个星球上的鮟鱇鱼移除
使用的工具是最常用的反编译软件之一:dnSpy
这工具挺有意思的,只要是unity打包时自带的加密就能直接反编译(并不局限于unity才行),因而不少游戏都是可以直接解开的,毕竟unity用的是C#,也是这么多年我一直在看的,假如要进行修改数据,对于我来说从代码层面来进行修改,远比从内存修改(指CE)好弄

今年(2021年)将是最艰难的一年,博主早已决定考研,在这里也祝大家万事如意,心想事成,同样要考研的同学一次上岸

”折叠”

实例2——Bilibili CTF

正逢10月24日你B首届安全挑战赛,只会前5题,随手写写

”阅读全文”

第一题 页面的背后是什么?

题目地址: http://45.113.201.36/index.html
毕竟第一题,非常简单,打开审核元素过一遍就能看到,或者通过网络也能看到,毕竟js脚本是这样写的:

<script>
    $.ajax({
    url: "api/admin",
    type: "get",
    success:function (data) {
        //console.log(data);
        if (data.code == 200){
            // 如果有值:前端跳转
            var input = document.getElementById("flag1");
            input.value = String(data.data);
        } else {
            // 如果没值
            $('#flag1').html("接口异常,请稍后再试~");
        }
    }
})
</script>

看到有个叫admin的 {code: 200, data: “066ae1d3-44db8ba0-2f6089ea-3d9cc9a0”, msg: “”} 便是答案

第二题 真正的秘密只有特殊的设备才能看到

还是第一题的页面,题目就是答案,开始我还想复杂了,把 UA 改成了windows、Linux、Mac段都试了一遍,最后发现,偌大的提醒就再那,直接改成 bilibili Security Browser 完事

http://45.113.201.36/api/ctf/2 访问时,请求头 User-Agent改成bilibili Security Browser 就好了

第三题 密码是啥?

很明显就是看弱密码,然而密码跑字典怕是跑不出来,仿佛脑筋急转弯
username:admin
passwd:bilibili

第四题 对不起,权限不足~

题目地址:  http://45.113.201.36/superadmin.html

 <script>

$.ajax({
     url: "api/ctf/4",
     type: "get",
     success:function (data) {
         console.log(data);
         if (data.code == 200){
             // 如果有值:前端跳转
             $('#flag').html("欢迎超级管理员登陆~答案是 : {{ " + data.data + " }}".toLowerCase() )
         } else {
             // 如果没值
             $('#flag').html("有些秘密只有超级管理员才能看见哦~")
         }
     }
 })
 </script>

上面是脚本,依旧常规看看网络,从脚本可知找到45.113.201.36/api/ctf/4,看到cookie处, session= 后接的是我们账号所用的,这个role很明显就有问题

role=ee11cbb19052e40b07aac0ca060c23ee; 

ee11cbb19052e40b07aac0ca060c23ee拿去md5解密,是user,那么我们把他换成 Administrator再md5加密放回去再访问就能得到答案

第五题 别人的秘密

题目地址: http://45.113.201.36/user.html

<script>

    $(function () {
    
        
        (function ($) {
            $.getUrlParam = function(name) {
                var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
                var r = window.location.search.substr(1).match(reg);
                if (r != null) return unescape(r[2]); return null;
            }
        })(jQuery);
    
        var uid = $.getUrlParam('uid');
        if (uid == null) {
            uid = 100336889;
        }
        $.ajax({
            url: "api/ctf/5?uid=" + uid,
            type: "get",
            success:function (data) {
                console.log(data);
                if (data.code == 200){
                    // 如果有值:前端跳转
                    $('#flag').html("欢迎超级管理员登陆~flag : " + data.data )
                } else {
                    // 如果没值
                    $('#flag').html("这里没有你想要的答案~")
                }
            }
        })
    });
</script>

这题就是暴力破解完事,我算是见到了各种大佬各显神通,什么console直接写js脚本暴力的,什么C#写的暴力程序的,什么用Intruder attack的(我这用的是第三者,现学现用)

function get(uid){ 
$.ajax({
                url: "api/ctf/5?uid=" + uid,
                type: "get",
                success:function (data) {
                    console.log(data);
                    if (data.code == 200){
                        // 如果有值:前端跳转
                        $('#flag').html("欢迎超级管理员登陆~flag : " + data.data )
                    } else {
                        // 如果没值
                        $('#flag').html("这里没有你想要的答案~")
get(uid+1)
                    }
                }
            })
}
get(100336889)
现学现用,直接上图,每个人的都不一样,我这没跑多久就出来了

第六题 结束亦是开始

即使到现在,服务器依旧被大佬们打挂了,网页压根打不开,溜了溜了

”折叠”

实例1——简单的pixivic分析(referer防盗链)

注意

本文所写分析出的api等内容 请勿滥用,仅用于学习和测试! 并且请不要大量调用以给系统带来压力 本人不承担任何责任

前言

pixivic用于pixiv日排行的浏览与免费高级会员热门排序搜索。 可以说是国内最好的p站镜像站。关于此站详情请点击 关于
在网站界面大改之前不少插件基于此网站制作(主要是访问速度快)今天之所以分析此站是为了之后新框架插件做准备

”阅读全文”

过程

访问网站,直接通过开发者工具—-网络 我们可以直接很快找出2个api 1.https://api.pixivic.com/trendingTags?date=2020-10-04
2. https://api.pixivic.com/ranks?page=1&date=2020-10-01&mode=day&pageSize=30
1号api从英文可知是 热门标签 ,参数date指的是日期
2号api可知是 排行 ,参数 page 第几页, date 日期, mode 排行模式,pagesize 一页显示多少张
mode从经验就能猜出可选参数day,week,month,year(其中year能返回成功但没有值如下图)

返回成功但没有值

拿2号api举例分析返回的json我们可以知道 data列每一个返回值都是一张图片的信息,比如id: 84697740 图片id, artistId: 80314 画师id,artistPreView 下面是画师的各种信息, tags 下列是标签详情,我们这里重点看 imageUrls 也就是图片地址(如下图)
首页上的图片都是缩略图,我们从网络里图片可知均为 img.cheerfun.dev/c/ 开头,但做插件或程序我们这里需要的是原图,如果直接点开图片发现需要登陆,如果直接访问 imageUrls 里的图片地址会直接403错误,这里开始就是核心了

返回的json

注册一个号用于测试,点开图片发现依旧是个缩略图,此时下面有个进度条开始加载,到满时呈现原图,我们可以在网络里看到请求url便是原图地址
https://original.img.cheerfun.dev/img-original/img/2020/09/30/00/20/14/84697740_p0.jpg
直接可以看出 2020/09/30/00/20/14/84697740_p0.jpg 便是图片名,猜测前面的日期是图片被镜像服务器收录的时间,如果图片是个系列有多张,则命名p0,p1,p2
但我们在图片加载后直接复制链接打开依旧是403,再去看请求标头,我们能看到一个 Referer的关键词,很明显这是用于防盗链,如果不是特定的来源网站,便会直接403,这样以来就简单了,我们只需要访问时添加请求头referer和值就好了,如下图
VNK暂不知有何用处,可能是标记什么

请求头
添加请求头

同理,我们在详情页同样能发现多个api,如
1. https://api.pixivic.com/illusts/84697740/bookmarkedUsers?page=1&pageSize=3 收藏该画作的用户列表
2. https://api.pixivic.com/artists/80314/illusts/illust?page=1&pageSize=10&maxSanityLevel=4 画师画作列表
3. https://api.pixivic.com/illusts/84697740/comments?page=1&pageSize=10 评论列表
4. https://api.pixivic.com/illusts/84697740/related?page=1&pageSize=30 关联画作列表(请求方法一个是get一个options)

看请求头可知
123是需要登陆才可获取的(需要Authorization 请求消息头)
4则是跟之前的一样

结尾

C#添加请求头: HttpWebRequest.Headers.Add("Cookie",value)
所用到的工具:postman,游览器自带的开发者工具
pixivic地址: https://pixivic.com/
再次强调 请勿滥用

”折叠”

关于计算机三级-网络技术

谢邀,刚考完,脚踢

说实话比二级office看运气抽题简单太多,有时间和能力可以去玩玩,看个一周基本稳过,下面总结一下要注意的几个点

”阅读全文”


  1. 路由汇聚与子网划分
    这知识点必考最后一题,占20分,计算简单,主要是判断是否需要前移,这个纠结了我好久,举个例子:
    10.10.13.133和10.10.13.134这两个IP地址不同的位段化成二进制。
    10.10.13.100001|01
    10.10.13.100001|10
    转化成二进制我们可以看出,两个IP地址从第30位之后开始不一样,接下来我们将相同位保留,不同位取0就可以了。
    所以我们可以得到10.10.13.10000100,再转化为十进制得到:10.10.13.132/30

    但如果是
    10.10.13.58、10.10.13.56、10.10.13.57。所以我们要做的就是将这三个IP地址聚合即可,但是这个和上面有些不同,
    首先我们重复之前的操作,把这三个地址不同的位段转化为二进制:
    10.10.13.001110|00
    10.10.13.001110|01
    10.10.13.001110|10
    转化成二进制我们可以看出,三个IP地址从第30位之后开始不一样,接下来我们将相同位保留,转化为十进制得到10.10.13.56,我们可以看到10.10.13.56这个IP地址是/30位的,由于/30位的网络号只有2个可用IP地址,但是我们现在聚合的分明是三个IP地址,显然与题意不符合,所以我们将“|”向前移动一位:
    10.10.13.00111|000
    10.10.13.00111|001
    10.10.13.00111|010转化为十进制得到10.10.13.56/29,我们又发现得到的这个IP地址已经被使用了(上面我们汇聚的其中一个就是10.10.13.56 ),所以得到的这个IP地址还是不符合要求,所以我们将“|”再向前移动一位:
    10.10.13.0011|1000
    10.10.13.0011|1001
    10.10.13.0011|1010转化为十进制得到10.10.13.48/28位,显然这个IP地址符合要求
  2. 配置命令
    ■ 如果网络通过防火墙Cisco PIX25接入Internet,并且部分内网需要访问外网,需要使用的两个配置命令依次是nat和global;
    ■ 如果用防火墙FW为Cisco PIX525,要求允许内网的FTP服务器向外网提供服务,应使用的命令是fixup;
    ■ 防火墙FW为Cisco PIX525,若允许内网的FTP服务器向外网提供服务,需要使用的配置命令是fixup protocol ftp 或fixup。
    ■ 数据包进入网络时将被进行过滤检测,并确定此包是否含有威胁网络安全的特征。如果检测到一个恶意的数据包时,系统不但发送警报,还将采取响应措施(如丢弃含有攻击性的数据包或阻断连接)阻断攻击。这种设备的名称是PIX。
    ■ 如果防火墙FW为Cisco PIX525,若需要为内网的一个服务器配置一个公网IP地址,请写出应该使用的配置命令static;
    ■ 如果想将网络接入Internet,那么在RG(路由器)的上联口应串入专用设备,请写出这个设备必须具有的功能NAT。
  3. ip dhcp
    这边建议全篇背诵,要背的代码也只有这里了,可以说全部都会考,纯靠记忆
无线设备相关
  • oc-3是155.520
  • cable modem利用的 频分 复用
  • 802.11a是 54mbps  b最高是11
  • pos flag s1s0 0是sonet,2是SDH (注意s1s0 这里是1不是l)
    pos framing sdh/sonet
  • 第一个可用ip地址是网络地址+1
  • 最后一个可用ip地址是直接广播-1
  • 带外使用SNMP  (SNMP都是基于UDP)
  • 基本问出现故障的都是在50ms恢复
  • XDAL中除了HDAL对称,其他都不对称
  • AP所覆盖的区域 室内30m,室外150m
  • BGP-4在不同自治系统中用(路由向量)
  • RSA(非对称)需要密钥数是2N
  • VLAN name 32位
    VLAN  id  12位
  • network 网络地址 反掩码 area 0
    area 0 range 网络地址 掩码
  • discover offer request ack
    discover和request都是直接填0.0.0.0 255.255.255.255
  • dns默认端口53
  • 一个解题规律:
    R3的ip route 0.0.0.0 0.0.0.0 R4的ip
    R4的ip route R1和R2的汇聚 掩码 R3的ip

差不多就这些,40道选择,5道大题,大题1和最后大题都是纯计算送分,找个抄稿纸写上128 64 32 16 8 4 2 1就可以开始你的表演了(

参考资料:应用题-路由汇聚与子网划分

”折叠”

关于FF14钓取一水

这里只写思路不写做法,均为本人原创,思路仅用于学习

  • 主要工具:按键精灵,窗口查看器,虹鱼图灵识别
  • 插件:361度窗口插件通用版(可选), 我的眼睛–图灵识别 (核心)
  • 游戏思路(参考NGA)
    • 1) 钓上猎手鱼:专一垂钓再来一条 (保证稳定性未实现)
    • 2) 钓上黑风鱼:
      拍击水面 -> 换乌贼丝 -> 平钓 -> 中杆 -> 猎手鱼
      专一垂钓 -> 换短嘴诱饵鱼 -> 猎手鱼
  • FF14内置宏
    • /micon 抛竿
      /ac 抛竿 <wait.13>
      /ac 提钩
      /ac 提钩
      /ac 提钩
      /ac 提钩
  • 原理
    • 通过OCR技术识别系统提示中“风”“西”“不”三个字来做到不同的操作
    • 通过后台插件实现挂机
  • 框架

”阅读全文”

括号后数字为用小键盘操作按键

注意:

1.抓取句柄只为后台运行,如不需要可无视

2.模拟鼠标点击均使用的是游戏本身自带的小键盘选择(0确定,4选左,6选右,点关闭)

3.请务必消息只选择通知-采集系统信息+通知-自己的采集信息

部分解释:

编号1判断 ,用于判断钓上来的是不是黑风鱼

编号2循环判断,用于判断 没有钓到任何东西…… 这里我们只需要框选识别范围为东西

编号3循环判断,用于判断 不经意间鱼饵被吃掉了…… 这里我们只需要框选识别范围为不经(此条触发概率极小,但为稳定性所做)

效率:

大概一小时50条猎手鱼

字库:

越精确越好,只需要做“风”“不”“西”三个字,建议做成3个文件以免识别到其他的

”折叠”

半年不更新是怎么回事呢?

半年不更新是怎么回事呢?下面就让小编带大家一起了解吧。其实就是太懒了(x)

因为疫情原因(真是千年一遇)一个寒假放了近半年,确实给了我太多时间去研究些东西,下面写写近段时间的成果(在这顺便也感谢来回复我博客的老哥,我是真没想到会有路人能搜到并来看我写的玩意,这给了我动力)

  1. 酷Q机器人方面
    终于学会一直想学的调用api(现在看来是真的简单),并调用B站的api实现各种奇奇怪怪的功能,源码丢github了:链接
    并用些技巧实现了自动转发ST的功能,受到群友一致好评()
    2020年8月10日更新:就在2日晨风被抓,酷Q宣布停运,各大框架圈一片哗然,真是一个时代的结束,我所用的sdk归档,我也可以摸了,感谢机器人这2年的陪伴,从入门慢慢步入精通,这也是目前我唯一一直在更新/制作的项目,实在舍不得
  2. JavaScript
    因为GBF,去特意学了下 JavaScript ,虽然目前只是入门水平,顶多算是了解并简单的使用,但如果之后不深入使用应该不会再特意去研究了
  3. Unity
    自从知道unity是C#代码后,又同时找到一个真正的职业游戏美工辅佐,开启了一个做东方同人游戏的新企划,目前虽然进度很慢(毕竟就2个人,而且除美工外全由我这0基础萌新负责),但这是个漫长的过程,之后有新的成果会第一时间放出,记录时间4/29 开始学习
  4. CE
    学会了基础,了解制作透视等挂的原理,确实是个非常有用的工具,各种游戏都能用的上,甚至是某手游
  5. …….

【搬运+部分原创】wordpress删去一些不需要的东西

一. 去除底部“自豪地采用 WordPress”版权信息:

1.打开主题文件夹:wp-content/themes/twentyeleven/footer.php; 

”阅读全文”

2.变成这样就行

<?php endif;
// 去除底部“自豪地采用 WordPress”版权信息
//get_template_part( 'template-parts/footer/site', 'info' );
?>

二. 删除 RSS 功能 的“文章RSS”、“评论RSS”、“WordPress.org”

打开主题文件夹:wp-include/widgets/class-wp-widget-meta.php ,删掉下面内容

<!-- 屏蔽 RSS 功能
            <li><a href="<?php echo esc_url( get_bloginfo( 'rss2_url' ) ); ?>"><?php _e('Entries <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
            <li><a href="<?php echo esc_url( get_bloginfo( 'comments_rss2_url' ) ); ?>"><?php _e('Comments <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
             -->

但原文并没有解决 WordPress.org 的问题,这里我想了想 动手改了下就成了

sprintf(
					'<li><a href="%s" title="%s">%s</a></li>',
					esc_url( __( '这里填要转到的网站' ) ),
					esc_attr__( 'Powered by WordPress, state-of-the-art semantic personal publishing platform.' ),
					_x( '这里填显示的名称', 'meta widget link text' )
				),

参考原文链接

”折叠”

关于酷Q机器人

首先这里运用的语言是C#,使用的SDK是链接

SDK里自带的功能其实挺少的,想要深入还是得学习C#,这里先以几个自带的基础功能举例,我们可以从SDK目录Native.Cqp.Csharp-Final\Native.Csharp.Sdk\Cqp\Api中找到一个叫CqApi.cs的文件,里面写了设置好的函数,对着函数参数就能实现基础功能

这里以刚写的点赞为例(需要pro的权限,免费的air并不能成功)

可以看到,函数是SendPraise (),括号里面要我们填写要赞的QQ ID和次数,跟着来就好,这里默认10次,e.FromQQ是指来源的QQ号,写成

Common.CqApi.SendPraise(e.FromQQ,10);

再运用if加上触发条件和回复的话就好了

if (e.Msg == "赞我")
            {
                Common.CqApi.SendGroupMessage(e.FromGroup,Common.CqApi.CqCode_At(e.FromQQ) + "已赞乃10次哦");
                Common.CqApi.SendPraise(e.FromQQ,10);
                e.Handled = false;
                return;
            }

待更