a1natas用a1natas的入门题练习对lovelymem的使用(自己用volatility居然获取不了)
[Forensics-1] cmd
直接查看控制台输出
[Forensics-2] iehistory
直接用工具查看ie记录会出问题
直接全局搜索字符串
[Forensics-3] Computer Name
系统信息找到ComputerName
[Forensics-4] Password
用mimikatz找到
也可以用passwareKit查找
[Forensics-5] 机密文件查找文件有个小技巧,将文件按名称排序,用户目录下的文件就会排在一起,直接略过系统文件,着重查看用户目录下的文件
一下发现两个特殊文件
导出机密文件.docx即可得到flag
[Forensics-6] Forensics X Reverse已经找到flag程序,直接放入IDA看看
IDA分析失败,去看看字符串列表
发现获取flag部分
找到相关代码
丢给ai分析,flag的值就是v2数组的值跟v5异或,但是v5的值不好获取,直接写个脚本遍历v5的值
得到flag
JiaJia ...
思维导图
未读
命令执行
eval
调用系统命令
echo exec(‘ls’);
echo `ls`;
passthru(‘ls’);
echo fread(popen(‘ls’, ‘r’), 4096);
exec(‘ls’,$a);print_r($a);
php函数
操作
localeconv();//获取当前区域设置(第一个一般是当前目录)
pos();//获取第一个元素
scandir();//获取传入目录下的文件–>array
implode(‘—‘,scandir(“/“)) //得到/目录的内容并用—分隔,字符串,用echo打印
next();//下一个元素
array_reverse();//列表倒序
array_slice();//列表切割array_slice($array,start,length)
打印
print_r();、var_dump();、var_export();打印出array数组
sh ...
[2022 A1CTF]Diana的身高12345678910111213<?phphighlight_file(__FILE__);$num = $_POST['num'];if(isset($num)){ if(is_numeric($num)){ header("Location:一些好康的" );//关注嘉然❤ 顿顿解馋 } else{ if($num == 180){ echo $flag; } }}
is_numeric绕过,末尾加%00即可
123456789101112131415<?phphighlight_file(__FILE__);$num = $_POST['num'];if(isset($num)){ if(is_numeric($num)){ header("Locat ...
WEB系统学习系列
未读前言决定从头开始系统性学习web,由于篇幅过长,分阶段更新,最后总结成一个超大md
进度web1-web55
信息搜集1.目录扫描
1python .\dirsearch.py -u https://www.www.example.com
2.请求头/响应头信息
3.dns txt记录
1nslookup -q=TXT https://www.www.example.com
4.页面信息泄露
1电话,邮箱,技术手册
爆破1.yakit编码爆破
12爆破base64后的admin:xxxx格式{{base64(admin:{{file:line(C:\Users\32965\Downloads\dic\dict.txt)}})}}
2.脚本爆破特定md5
3.php根据第一次随机数爆破随机数种子
1./php_mt_seed 213614449(第一个随机数)
4.常见的爆破类型
1域名爆破,密码爆破,用户爆破,目录爆破
命令执行1.当目标函数为system();
...
CTF
未读http
根据提示一步步修改请求头,由于hackbar只能发送get跟post,但是这两种方法都不是正确方法,所以用yakit尝试其他方法
使用PUT方法得到flag位置
进入后发现是个假的flag,但是一看地址,不是fl1l1l1l1ag.php,盲猜302跳转,去抓包里看
果然,得到flag
rcef12被禁用,手动打开调试
源码里提示,进入robots.txt得到/fl@g.php路径
123456789101112131415161718<?phphighlight_file(__FILE__);error_reporting(0);if(isset($_GET['emo'])){ $emo = $_GET['emo']; if(!preg_match("/\;|\"|\*| |[b-h]|[m-r]|\\$|\{|\}|\^|\>/i",$emo)) ...
Can_can_need
打开是一个网页,没什么发现,直接先爆破目录
找到疑似存放源码的文件
检测到病毒不让我下载😂,linux里去下
在源码的js目录下存在一句话木马
读取到flag
Ez_htaccess123456789101112131415161718192021222324252627282930313233<?php $files = scandir('./'); foreach($files as $file) { if(is_file($file)){ if ($file !== "index.php") { unlink($file); } } } if(!isset($_GET['content']) || !isset($_GET['filename'])) { ...
前言在学长的指点下我们新生队也是拿到了省赛二等奖的好名次,人生中第一次CTF大赛拿奖就是二等奖了,我们队真是太厉害了!
Web1
一打开网页,发现什么都没有
扫描目录得到一个压缩包跟一个txt,txt里是假的flag
再打开压缩包,其中c2VyaWFsaXpl.php能接受flag参数然后反序列化,由此可以构造序列化内容
123456789101112131415<?phpclass Flag{ public $cmd='whoami'; public function __destruct() { system($this->cmd); }}unserialize($_GET['flag']);$p=new Flag();$p->cmd="cat /flag";echo serialize($p);?>
得到payload:O:4:”Flag”:1:{s:3:”cmd”;s:9:”cat /flag”;}
W ...
起因唐部搞完抢课脚本后又打起了抢图书馆座位的主意,让我也一起看看
经过登陆密码加密通过抓包得到提交登录表单的参数为
12345678{ 'username': "2024xxxxxx", 'password':"0cefd4baf9...", 'authcode': "2146", 'rememberMe': 'true', 'execution': "d5304484-5bfd-4715-b9f4...", '_eventId': 'submit', }
其中execution可在登录页源码中得到
源码中找到了对密码进行加密的位置
使用了security.js里的函数进行的加密
由于里面的加密太过复杂,笔者没能力改成python代码(菜)
但是python中的execjs库能运行 ...
前言在4399闲逛的时候看到个画风可爱的h5小游戏,由于不看广告根本玩不下去的设定过于逆天,遂决定好好研究这款游戏的广告结算流程,结果居然出乎我的意料
经过
首先打开调试,发现一直debug
之后在这篇文章中找到了绕过方法:https://www.jianshu.com/p/a3a0949a4e9a
成功进入调试
看一次广告,在控制台中找到了相关代码的位置
然而index.js已经被混淆,完全看不出执行逻辑
原来是用一个列表存放了所有关键字
换个方法,在打印“代码:10000,消息:开始播放”处打个断点,在右边的调用堆栈处查看,看看之前执行了哪些代码
在app.js里发现了跟广告奖励相关的代码
而且此处的
123case 1: a.default.console.debug("广告播放结束"), Rt.send(s, 3, 100);
正对应了控制台中的“调用原创统计 3 100”
在switch处打个断点,然后发现case是根据ed值进行的判断
当广告中断时,e的只为-2,在之后的case中也可以印证这一点
于是可以尝试将e的值直接改为2, ...
2020-BDJCTF-Web-easy_search
打开是个登录框,使用常见的sql注入语句都无效,而且根据题目描述也不是考察sql注入,所以扫描一遍目录
扫描目录发现index.php.swp文件,是vim生成的临时备份文件,打开即可得到index.php的源码
分析可得登录成功的条件是password经过md5后的前六位要为6d0bc1
编写脚本得到password
登陆成功,但是没有任何信息
在响应头中找到了url地址
看到网页中显示了用户名,于是考虑SSTI模板注入
网页文件为shtml,搜索到注入方法
执行命令查看根目录
可以返回,但没找到flag
在上一级目录中找到flag文件,得到flag
2020-网鼎杯-朱雀组-Web-phpweb
一道php反序列化题
每隔5秒会向后端发送一个post请求,调用一个函数,并传递参数
构造的payload被过滤了
所以想办法查看过滤的字符,可以用file_get_contents函数来获取文件内容
得到index.php里的内容,发现有个Test类,给func传递p
联想到题目考察的是反序列化,可以想到 ...