考核复现-cnblog

news/2024/9/8 8:13:16/文章来源:https://www.cnblogs.com/youngbo-24/p/18205020

考核复现

web

签到

源代码

image-20240515171128902

base64解密

image-20240515171215185

文件上传

先简单上传一个图片

image-20240515171356572

这里的类型被限制了,只允许上传哈哈类型的,修改一下吧

image-20240515171959930

上传成功

连接成功

image-20240515172518877

好玩的PHP

前一部分用数组绕过,后一部分将c赋值,用data伪协议绕过file_get_contents()函数

构造payload:?a[]=1&b[]=2&c=abc&d=data://text/plain,abc

image-20240520201017179

image-20240520201244236

渗透的本质

扫一下

发现robots.txt

访问看看,没有什么用

接着看到附件,里面有些东西,应该需要爆破了

添加

image-20240520212206954

添加附件里面的字典

这里注意如果页面都是一样的话,就需要我们添加正则

image-20240520212707858

image-20240520212152180

我们也可以下载到源码,这个也是可以扫描目录出来的

image-20240520205026554

这句是进行一个url解码,在我们网页上输入网址位置也会进行一次url解码,代码中一句url解码 + 网页自带一句url解码

也就是我们需要编码两次

image-20240520213327378

%25%36%31%25%36%34%25%36%64%25%36%39%25%36%65

image-20240520213439393

简简单单的sql

扫一下看看

得到login.php,访问可得

image-20240521205038151

尝试一下

image-20240521205128089

sqlmap跑一下

sqlmap -u http://172.16.17.6:8304/login.php --level 3 --dbs --batch
  • --level 3: 选项 --level 设置测试的级别。级别范围从 1 到 5,1 是最少的测试,5 是最深入的测试。级别 3 增加了测试的数量和深度。
  • --dbs: 这个选项告诉 sqlmap 枚举并列出服务器上所有可用的数据库,一旦发现注入点。
  • --batch: 这个选项使 sqlmap 在非交互模式下运行,自动确认所有的提示。这个选项适用于自动化脚本和批处理操作。

image-20240521205556809

发现是UA头注入

image-20240521205922383

爆数据表

image-20240521210110106

爆列(user_agents)

image-20240521210402673

爆字段,得出flag

image-20240521211111224

crypto

签到

\u0062\u0032\u0036是一种Unicode编码形式

image-20240521211345570

脚本也是可以的

unicode_text = "\u0032\u0036\u0032\u0033\u0033\u0039\u0033\u0030\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0031\u0033\u0030\u0033\u0039\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0031\u0033\u0032\u0033\u0030\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0031\u0033\u0030\u0033\u0034\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0039\u0033\u0030\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0035\u0033\u0031\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0031\u0033\u0031\u0033\u0035\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0035\u0033\u0030\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0039\u0033\u0030\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0036\u0033\u0038\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0039\u0033\u0039\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0031\u0033\u0031\u0033\u0039\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0039\u0033\u0030\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0031\u0033\u0030\u0033\u0036\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0038\u0033\u0039\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0034\u0033\u0038\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0039\u0033\u0030\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0036\u0033\u0038\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0031\u0033\u0030\u0033\u0038\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0031\u0033\u0030\u0033\u0037\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0037\u0033\u0037\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0038\u0033\u0037\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0039\u0033\u0030\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0031\u0033\u0030\u0033\u0036\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0037\u0033\u0038\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0036\u0033\u0038\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0037\u0033\u0037\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0031\u0033\u0032\u0033\u0030\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0039\u0033\u0030\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0037\u0033\u0031\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0038\u0033\u0035\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0035\u0033\u0031\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0039\u0033\u0030\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0038\u0033\u0037\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0037\u0033\u0033\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0031\u0033\u0032\u0033\u0032\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0038\u0033\u0039\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0038\u0033\u0034\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0038\u0033\u0039\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0034\u0033\u0038\u0033\u0062\u0032\u0036\u0032\u0033\u0033\u0036\u0033\u0031\u0033\u0062"print(unicode_text.encode("utf-8").decode("unicode-escape"))
262339303b26233130393b26233132303b26233130343b262339303b262335313b26233131353b262335303b262339303b262336383b262339393b26233131393b262339303b26233130363b262338393b262334383b262339303b262336383b26233130383b26233130373b262337373b262338373b262339303b26233130363b262337383b262336383b262337373b26233132303b262339303b262337313b262338353b262335313b262339303b262338373b262337333b26233132323b262338393b262338343b262338393b262334383b262336313b

接着转换

image-20240515175019851

import htmlencoded_text = "ZmxhZ3s2ZDcwZjY0ZDlkMWZjNDMxZGU3ZWIzYTY0MDY2ZGVhMX0="decoded_text = html.unescape(encoded_text)print(decoded_text)

结果

ZmxhZ3s2ZDcwZjY0ZDlkMWZjNDMxZGU3ZWIzYTY0MDY2ZGVhMX0=

flag{6d70f64d9d1fc431de7eb3a64066dea1}

rsa1

分解n,这里的n会有三段的

import gmpy2

n = 703739435902178622788120837062252491867056043804038443493374414926110815100242619
e = 59159
c = 449590107303744450592771521828486744432324538211104865947743276969382998354463377

p =

q =

n1 = 782758164865345954251810941
n2 = 810971978554706690040814093
n3 = 1108609086364627583447802163

n = 322831561921859

e = 65537

phi_n = (n1 - 1) * (n2 - 1) * (n3 - 1)
d = gmpy2.invert(e, phi_n)

d = 0x509c42eb6aa8414d3b54864520d5138ba2af5107415695ebb1d35d35e1a3d7d407cea85cefc4ad5cae88030d3647f1aaccb89f89b64057e38804d37aed5e253f

print(d)

c =0xdc2eeeb2782c

m = pow(c, d, n)
print(hex(m))

image-20240515180246415

rsa2

2018网鼎杯第3场- hafuhafu (生成pem)

pk = (25572000680139535995611501720832880791477922165939342981900803052781801299380515116746468338767634903543966903733806796606602206278399959935132433794098659859300196212479681357625729637405673432324426686371817007872620401911782200407165085213561959188129407530503934445657941975876616947807157374921539755157591354073652053446791467492853468641331291383821277151309959102082454909164831353055082841581194955483740168677333571647148118920605752176786316535817860771644086331929655259439187676703604894258185651165017526744816185992824404330229600417035596255176459265305168198215607187593109533971751842888237880624087,65537)
------ enc -------
DTlEiAKLE24m19es4TBWl4Uo2MvmQMEYqWBCFggWJlJSjCwl3fT9322ytgudiQW2raDh53e6t2ed
ygpFOP+MsAPXlU469rlmVng5JyDl0CF0ypevnaM5i+CvNT2mBoDadIYnPBVGMtj9HVVPDpMIgv5b
F9N5ddQS7JB21oDdQBdDLTkKvcSqegtjNFv04R8+yrqOMZYpzdCRRw0j/MMt2JefC6z36mjrTL85
A9EKlwKg5ydW7qELycfjBvzB/cwJ7mJ2I0xVPToa3sSLNDyddFttATwU6wmCa4XaWpTwVR/PfET2
FRj0p+8UwYSDdlLLh6gRUVURpT+2jc9zx/rhOw==

分解求出pq

image-20240520214115765

p = 149930380465516707151079321019435489399072155945793735032334088844599773034021170995501688132861944516938448679935403246643441984203770825485165700862168437691254557323938150173733659070945061763789341407547559935070758242521126066900261360899379463301621378242061934281538210192731229473900396425739817670867
q = 170559166199281256887953076784727902849936084815549184550874370897326056825177365209113910954088389779180174518262922176726833811470419181874717574929460298509184863124213663255559781224744696195678069242025195218017449489985102637547369070225979448169459840545693721393354651993457943927480894225788038743661
 [python](http://d.hatena.ne.jp/keyword/python) rsatool.py -p xxx -q xxx -e xxx -o pen.pem

image-20240520215214612

接下来把密文单独复制出来命名为enc 然后对其进行base64解码,输出为flag.enc文件:
openssl enc -base64 -d -in enc -out flag.enc

解密:
openssl rsautl -decrypt -in flag.enc -inkey pen.pem -out flag.txt

image-20240520215435190

好好玩的数字

from secret import flagprint(int(str(int.from_bytes(str(flag).encode(), byteorder='little') << 10000)[-175:]))\#5869664616626170192513728663983584426766596237982310139329834210718092192937488924265907900493527005037089718790706861823321759585618134585749438147181304267798081685394817024
  1. 首先,将 flag 转换为字符串(如果它不是字符串的话),然后使用 encode() 方法将其转换为字节序列。默认情况下,encode() 方法使用 UTF-8 编码。

  2. 使用 int.from_bytes() 方法将字节序列转换为一个整数。byteorder='little' 表示使用小端字节序。小端字节序是指最低有效字节在前(即最低位的字节存储在最低的地址中)。

  3. 将前一步得到的整数左移 10000 位。这会大大增加这个整数的值,相当于在数字后面添加很多零。

  4. 将左移后的大整数转换为字符串,然后截取字符串的最后 175 位。这一步的目的是提取整数表示中的特定部分。

  5. 最后,将截取的字符串部分转换为整数,并将结果打印出来。

from gmpy2 import *
from Crypto.Util.number import *c = 5869664616626170192513728663983584426766596237982310139329834210718092192937488924265907900493527005037089718790706861823321759585618134585749438147181304267798081685394817024x = invert(pow(2, 10000), pow(5, 175))
m = c * x % (pow(5, 175))
print(long_to_bytes(m)[::-1])
  • pow(2, 10000) 计算 2 的 10000 次方。
  • pow(5, 175) 计算 5 的 175 次方。
  • invert(a, b) 计算 a 在模 b 下的乘法逆元,即找到一个数 x,使得 a * x ≡ 1 (mod b)

通过这个操作,xpow(2, 10000)pow(5, 175) 下的乘法逆元。

然后将 c 乘以 x,然后取模 pow(5, 175)。这个操作逆转了之前的加密操作(即,左移 10000 位并截取了 175 位)。

最后,将整数 m 转换为字节序列,并逆序排列。这可能是因为在加密过程中使用了小端字节序,所以在解密时需要逆转字节顺序以还原原始数据。

reserve

babyre

image-20240521212050750

在十六进制窗口Hex view中得到flag

img

image-20240521212805822

flag{ca201ed0-9e07-11e8-b6dd-000c29dcabfd}

misc

easy_singin

直接解

image-20240521212951035

flag{hahaha_singin_you_good}

流量分析1

用wireshark进行分析,并且导出http对象

image-20240521213638573

发现666.zip文件

image-20240521213659687

打开

image-20240521213710904

1.txt和2.txt文件,发现1中有png的头部,6中有尾部,这说明6个文件可以组成一张png

png的头部为89 50 4E 47 尾部为AE 42 60 82

放入010editer,发现有一张二维码

image-20240521213417965

Xjpg

1.根据提示“你会使用win10刷新快捷键吗”,想到f5隐写

2.用F5-steganography进行解密

kali里面安装

git clone https://github.com/matthewgao/F5-steganography

3.打开kali中的output.txt查看

4.pk头,把文件头改成zip文件的文件头

5.最后使用brainfuck解码

image-20240521214227830

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/710246.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

智能计算系统-Tensorflow框架的计算图机制

智能计算系统-Tensorflow框架的计算图机制 陈云霁老师的课,趁现在有时间,打算了解深度学习的底层原理。 从第五章编程框架机理开始,一到四章是深度学习基础,在此不再讨论 一. 深度学习框架的设计原则 1. 高性能 主要体现在神经网络的算子,针对底层硬件进行充分优化 在计算…

用户与组管理

一、服务器版本 windows服务器系统:win2003 、win2008、win2012、win2019 linux服务器系统:Redhat(开源收费(售后))、Centos(开源不收费) 二、用户概述1、每一个用户登录系统后,拥有不同的操作权限2、每个账户又自己唯一的SID(安全标识符) 为什么要分不同的用户 3、配…

ntfs

储备: 首先需要明白什么是文件系统。文件系统是系统对文件的存放排列方式,不同格式的文件系统关系到数据是如何在磁盘进行存储,文件名、文件权限和其他属性也存在不同。Windows操作系统支持 NTFS, FAT32, and exFAT三种不同文件系统。NTFS是目前Windows系统中一种现代文件系…

Chart.js (v2.9.4)概要介绍

chart.js是一个非常优秀的开源图表插件,扩展非常灵活,同时也提供了大量的钩子函数,给与用户添加自定义插件,实现个性化的需求。 具体的优势特点,这里不详述,网上大把资料,现开始正式深入了解这个插件.Chart布局大概分为如下六个区域,这些是主要的,也有些特殊,比如左右…

window版postgresql安装orafce插件

在Visual Studio中创建一个新的C工程:将解压目录下的除.sql和文件夹之外的文件都copy到新创建的工程中,另外要将sqlscan.c排除在项目之外 配置编译选项配置预处理器,预处理器定义中的内容为: WIN32 _WINDOWS _DEBUG _CRT_SECURE_NO_WARNINGS 注意要有_CRT_SECURE_NO_WARNI…

为什么 mov sp, 32,debug程序,执行sp=32的位置,后面的代码就全乱了(在小甲鱼零基础汇编第6章,包含多段程序,的视频代码)

assume cs:code, ds:data, ss:stackdata segmentdw 0123h, 0456h, 0789h, 0abch, 0defh, 0fedh, 0cbah, 0987h; 用来作存放数据 data endsstack segmentdw 0, 0, 0, 0, 0, 0, 0, 0; 用来作栈的空间 stack ends code segmentstart:; 设置数据段mov ax, datamov ds, ax ; 设…

mysql报错:Lock wait timeout exceeded: try restadina transaction

这次是在Navicat上复制了一个表结构和数据准备备份一下,然后要用语句批量处理数据,结果导致项目上的更新操作报这个错误。原因是因为表中的数据量太大,复制表一时半会卡到那了。于是我在网上搜索了如下办法。尝试在数据库中杀死线程来终止复制表的操作。 SELECT * FROM info…

ASP.NET之JSONHelper操作

之前说到了Ext.Net中GridPanel行取值的问题(Ext.Net开发_GridPanel行选中取值),涉及到checkBox操作时,要留个心眼注意下取值的区别!返回值是Json格式。 现在用到了Json,就想自己也整一个Josn帮助类。在线帮助的资料很多,在巨人的身上东凑西凑也凑一个用用。   一、介绍…

Git:warning: CALF wilL be replaced by LF in xxxx 问题解决

warning: CALF wilL be replaced by LF in xxxx 问题解决办法 出现这个问题的原因是像缓存区中提交文件时出现的 原因: windows中的换行符为 CRLF,而在Linux下的换行符为LF,所以在执行add . 时出现提示 也就是, 工作区的文件都应该用 CRLF 来换行。如果 改动文件时引入了 …

密码爆破ssh与ftp服务(finish)

密码爆破ssh与ftp服务 使用工具九头蛇(hydra) ssh 环境配置 win10 安装sshd服务端在cmd命令行使用 net start sshd 命令启动服务kali 打开终端查看是否开启ssh服务 nmap -sV -T4 -p- [kali的ip] 先创建一个用户名字典username.txt,把经常用的用户名写入到字典中 touch usern…