博客
关于我
SXCCTF2021 Web
阅读量:199 次
发布时间:2019-02-28

本文共 789 字,大约阅读时间需要 2 分钟。

前言

最近参加了一个知名平台的学校比赛,参与者包括众多大师傅。虽然题目质量很高,但作为菜鸟我只能完成一道题。这次比赛让我学到了很多东西,其中一道题目涉及到微信小程序逆向,还有一道关于CMS审计的题目因为技术难度较高,暂时搁置了。等我掌握了相关知识后,才会好好研究这道题。

Base

在比赛中,我首先从`robots.txt`获取了`base.txt`,共获取了255个数据项。为了将这些字符转换成对应的语言符号,我编写了一个Python脚本,利用给定的编码规则进行处理。最终得到了一个关键字转换表,这对后续的题目解决起到了重要作用。

接下来的问题是构造`admin`账号并进行SQL注入。直接手动注入会很麻烦,因为每个payload都需要经过编码转换。此外,这道题目中没有回显功能,直接使用SQLMAP进行攻击会更方便。结合最近学习的SQLMAP Tamper脚本,我成功地将问题复杂度降低了。

虽然布尔注入也是一种可行的方法,但我实在懒得写了,所以直接使用SQLMAP完成了整个过程。

Wechat

第一次接触微信小程序逆向时,参考了大神的技术博客。通常的小程序包文件格式是`.wxapkg`,可以通过工具`WxAppUnpacker`轻松解包。虽然过程中遇到了一些依赖包下载问题,但通过谷歌搜索下载了必要的`node`模块,顺利完成了逆向分析。

在逆向过程中,发现了文件上传功能。分析了`notes.js`文件,了解到通过`chooseImage`接口可以实现图片上传。为了绕过过滤,我编写了一个简单的PHP脚本,利用`eval`函数执行远程代码。通过测试,发现服务器支持PHP版本较低的功能,因此成功完成了攻击。

总结

这次比赛让我对Web安全的基础知识有了更深的理解,也锻炼了我的实际操作能力。虽然在某些环节上显得力不从心,但通过不断学习和实践,我相信自己会逐步提升的。

转载地址:http://fjis.baihongyu.com/

你可能感兴趣的文章
Objective-C实现logistic sigmoid函数(附完整源码)
查看>>
Objective-C实现longest Common Substring最长公共子串算法(附完整源码)
查看>>
Objective-C实现longest increasing subsequence最长递增子序列算法(附完整源码)
查看>>
Objective-C实现longestCommonSubsequence最长公共子序列算法(附完整源码)
查看>>
Objective-C实现LongestIncreasingSubsequence最长递增子序列算法(附完整源码)
查看>>
Objective-C实现lorenz transformation 洛伦兹变换算法(附完整源码)
查看>>
Objective-C实现Lower-Upper Decomposition上下分解算法(附完整源码)
查看>>
Objective-C实现LowerCaseConversion小写转换算法(附完整源码)
查看>>
Objective-C实现lowest common ancestor最低共同祖先算法(附完整源码)
查看>>
Objective-C实现LRU 缓存算法(附完整源码)
查看>>
Objective-C实现LRU缓存(附完整源码)
查看>>
Objective-C实现LRU(least recently used)算法(附完整源码)
查看>>
Objective-C实现lstm prediction预测算法(附完整源码)
查看>>
Objective-C实现lucas数列算法(附完整源码)
查看>>
Objective-C实现Luhn (Mod 10)Algorithm算法(附完整源码)
查看>>
Objective-C实现LZW编码(附完整源码)
查看>>
Objective-C实现MAC桌面暗水印(附完整源码)
查看>>
Objective-C实现mandelbrot曼德勃罗特集算法(附完整源码)
查看>>
Objective-C实现markov chain马尔可夫链算法(附完整源码)
查看>>
Objective-C实现MATLAB中Filter函数功能(附完整源码)
查看>>