2024云曦期中考核wp

Web

Web_SINGIN

直接打开源代码,发现js文件

打开发现一串疑似flag的base64编码

解码得到flag

附赠彩蛋

渗透的本质

发现没有什么可以操作的用bp抓包看看

用Dashboad里的scan扫描网址后发现有一个robots.txt文件,这个文件正好是题目所给的附件

打开附件查看,发现里面的内容像是文件

用bp爆破一个个访问,发现可疑代码

代码审计:当id的值被url解密后为admin时得到flag

用bp对admin进行url加密(其他加密工具好像没法加密)

输入?id=%25%36%31%25%36%34%25%36%64%25%36%39%25%36%65得到flag 

好玩的PHP

代码审计:

当a=b且a的md5值不等于b的md5值时,当c=d的内容时得到flag

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

构造payload:

?a[]=1&b[]=2&c=hello&d=data://text/plain;base64,aGVsbG8=

查看源代码

简简单单的文件上传

上传一个一句话木马文件,发现需要将文件头改为image/haha且提交的是图片

打开bp修改

用蚁剑连接

查找flag

简简单单的sql

发现没有注入的地方用御剑扫描php,发现一个疑似登入界面

访问

Crypto

Crypto_Singin

打开文件后是一串unicode,解码后得到一串16进制编码

 继续解码

得到一串html编码,输入到文本文件中改后缀为html,打开得到一串base64编码

解码得到flag

easy_rsa

直接用脚本

import gmpy2
from Crypto.Util.number import long_to_bytes
e = 59159
n = 703739435902178622788120837062252491867056043804038443493374414926110815100242619
c = 449590107303744450592771521828486744432324538211104865947743276969382998354463377
p= 782758164865345954251810941
q= 810971978554706690040814093
r= 1108609086364627583447802163

phi = (p - 1) * (q - 1) * (r - 1)
d = gmpy2.invert(e, phi)
m = gmpy2.powmod(c, d, n)
print(m)
print(long_to_bytes(m))

Rsa2

将文件后缀改为txt打开,发现一串疑似base64编码

发现一个enc猜测下面的应该是加密后的文本,上面的应该是公钥,所以我们需要找到私钥解密下面的文本,这时候我们就可以用rsatool工具生成private.pem文件(私钥文件)

n:25572000680139535995611501720832880791477922165939342981900803052781801299380515116746468338767634903543966903733806796606602206278399959935132433794098659859300196212479681357625729637405673432324426686371817007872620401911782200407165085213561959188129407530503934445657941975876616947807157374921539755157591354073652053446791467492853468641331291383821277151309959102082454909164831353055082841581194955483740168677333571647148118920605752176786316535817860771644086331929655259439187676703604894258185651165017526744816185992824404330229600417035596255176459265305168198215607187593109533971751842888237880624087

e:65537

先将n因式分解得到p和q

p:149930380465516707151079321019435489399072155945793735032334088844599773034021170995501688132861944516938448679935403246
643441984203770825485165700862168437691254557323938150173733659070945061763789341407547559935070758242521126066900261360
899379463301621378242061934281538210192731229473900396425739817670867

q:170559166199281256887953076784727902849936084815549184550874370897326056825177365209113910954088389779180174518262922176
726833811470419181874717574929460298509184863124213663255559781224744696195678069242025195218017449489985102637547369070
225979448169459840545693721393354651993457943927480894225788038743661

开始生成

python3 rsatool.py -f PEM -o private.pem -p 149930380465516707151079321019435489399072155945793735032334088844599773034021170995501688132861944516938448679935403246643441984203770825485165700862168437691254557323938150173733659070945061763789341407547559935070758242521126066900261360899379463301621378242061934281538210192731229473900396425739817670867 -q 170559166199281256887953076784727902849936084815549184550874370897326056825177365209113910954088389779180174518262922176726833811470419181874717574929460298509184863124213663255559781224744696195678069242025195218017449489985102637547369070225979448169459840545693721393354651993457943927480894225788038743661 -e 65537
#-f:指定输出密钥的格式为PEM格式。
#-o:指定输出文件的路径和名称,该文件将包含私钥。

把密文单独复制到新的enc文件用openssl进行base64解码并输出flag.enc文件

openssl enc -base64 -d -in enc -out flag.enc

用openssl解密

openssl pkeyutl -decrypt -in flag.enc -inkey private.pem -out flag.txt

#openssl3.0及以上版本用pkeyutl,以下用rsautl

 注意:

改变private文件权限为读写

将文件放在同一目录下

最终得到flag

Pwn

pwn_Sing

直接nc 网址,然后ls查看目录,cat flag.txt得到flag

Misc

easy_singin

直接解码

  • 13
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值