前言 关于上一篇 https://blog.csdn.net/m0_51170293/article/details/120038635?spm=1001.2014.3001.5501 红日靶场另一种方式
思路:
可以直接在数据库里写 不用找网站(如上一篇文章所写) 那怎么在数据库写呢? 发现有一个日志文件 记录命令行运行所有的sql语句 写一句马 直接连那个日志所在的路径
步骤
1开启日志 ON 2改日志文件位置 将来直接访问此自定义位置 3sql框写上select “<?php eval($_POST['hacker']);?>” 4连木马 如图所示
总结
也算是关于日志的一个思路 但在操作过程中成功率不高 和前辈分析后, 猜想可能是文件最好一次写对,就sql语句的一句话木马不能出错, 日志中最好只有一条成功的语句,如select “<?php eval($_POST['hacker']);?>” 个人猜想 不光select ,insert语句也可以 但着急回家,忘了测试 。。。 mc yyds
=========================================================== *
一些杂碎知识点和一道ctf
1 条件竞争 2 linux简单命令复习 3 ctf re 4 内网渗透一点点
1条件竞争
原理大概就是趁文件上传未被发现不合法被删之前,先在该文件写入一个 能写文件的操作(当然写的是马了QAQ)然后执行了后 发现虽然母文件被发现被删除了,但其用子文件被创建了 没有被删 然后用 蚁剑连 心得 成功率不高 用burp批量传文件 不停地刷新 不报错 出现白页 说明可以连了。自己的理解是这样的 可能不准确 。。。
2一些简单的命令
cd 切换文件 ls 展示文件夹内容 file加文件名 显示文件类型 如图: pe说明不能用linux做题 用win windebug 还是用ida来调试 elf 说明是在linux运行的 x86说明是在pc上运行的 ldd 看使用了哪些链接库
3 逆向
打开这个文件 提示输密码 123输入不正确 退出来了
用ida打开 看见start 摁F5没有反应 start不是函数 main当做参数传进去了 (start后面标的proc 说明是procedure 不是函数)
用start 或者main打开(其中一个可能报错一句话 没影响) 分析这个函数 分析此代码 观察输入输出:输入是一个S,然后这个S是有初值的,然后看这么多位数肯定不是八位,所以第五行char类型 8是有错误的,但是我们可以破解此获得其真实位数,但往后看可以发现它其实是33,就是24行有个33,猜测是位数。输出是一个flag啥啥啥的 可以看出来是用s1和s2对比,然后我们看一下15到十二十行就是赋值,然后21行22行就是s与s2的每一位取异或(两个变量都是33位 由24行可推断),然后24行是把这三个数传进去,25行检验,如果S1和S2不相等,然后它就会循环,然后如果相等的话,它就会打印出这个flag。 总的来说 其实就是求s和S2的异或。可以写一个c代码 求异或: 运行该代码 得flag 验证 成功!
总结
================================ 最后一部分 内网有关的 (为了进一步对红日靶场提权) 计算机-属性 里可以看操作系统是几位 msfvenom简介 msfvenom取代了msfpayload和msfencode,常用于生成木马,在目标机器上执行,在本地机器kali中上线 大致参数介绍
-l, --list <type> 列出指定模块的所有可用资源. 模块类型包括: payloads, encoders, nops,......all
-p, --payload < payload> 指定需要使用的payload(攻击荷载)。也可以使用自定义payload,几乎是支持全平台的
-f, --format < format> 指定输出格式
-e, --encoder <encoder> 指定需要使用的encoder(编码器),指定需要使用的编码,如果既没用-e选项也没用-b选项,则输出raw payload
-a, --arch < architecture> 指定payload的目标架构,例如x86 还是 x64 还是 x86_64
-o, --out < path> 指定创建好的payload的存放位置
-b, --bad-chars < list> 设定规避字符集,指定需要过滤的坏字符。例如:不使用 '\x0f'、'\x00'
-n, --nopsled < length> 为payload预先指定一个NOP滑动长度
-s, --space < length> 设定有效攻击荷载的最大长度,就是文件大小
-i, --iterations < count> 指定payload的编码次数
-c, --add-code < path> 指定一个附加的win32 shellcode文件
-x, --template < path> 指定一个自定义的可执行文件作为模板,并将payload嵌入其中
-k, --keep 保护模板程序的动作,注入的payload作为一个新的进程运行
-v, --var-name < value> 指定一个自定义的变量,以确定输出格式
-t, --timeout <second> 从stdin读取有效负载时等待的秒数(默认为30,0表示禁用)
-h,--help 查看帮助选项
--platform < platform> 指定payload的目标平台
可以参考:https://www.cnblogs.com/lcxblogs/p/14024827.html![
就看了这么一点点 886
|