PWNHUB【2月公开赛】EasySteg && 图片隐写常见套路

key:winhex stegdetect zsteg stegpy npiet brainloller steghide outguess jphide silenteye

解压得到flag.png

winhex打开flag.zip提取出新图片

发现存在hex头尾发生错乱猜想全部错乱然后编写脚本

#include<bits/stdc++.h>
#define rep(i,a,b) for(register int i=a;i<=b;++i)
#define rpd(i,a,b) for(register int i=a;i>=b;--i)
#define rep1(i,x) for(register int i=head[x];i;i=nxt[i])
#define inf 998244353LL
#define lowbit(i) i&(-i)
typedef long long ll;
const int N=5e3+5;
using namespace std;
inline int read(){
   int x=0,f=1;char ch=getchar();
   while(!isdigit(ch)){if(ch=='-')f=-1;ch=getchar();}
   while(isdigit(ch)){x=x*10+ch-'0';ch=getchar();}
   return x*f;
}
string s;
int main(){
freopen("1.in","r",stdin);
freopen("1.out","w",stdout);
cin>>s;int n=s.length();s=' '+s;
rep(i,1,n/8){
int x=(i-1)*8+1;
cout<<s[x+6]<<s[x+7]<<s[x+4]<<s[x+5]<<s[x+2]<<s[x+3]<<s[x]<<s[x+1];
}
return 0;
}

形成新图片

有个提示爆破图片与MTCTF的boom一样直接套用脚本

存在crc校验错误于是同样用脚本得到新的宽修改之后

得到新图片 binwalk分析出其中有jpg导出来

再分析原图不是npiet就是brainloller 得到密码

Hello Worl!

根据hint.txt密码中的空格为_

再进行stegdetect.exe进行分析导出的jpg发现存在加密

尝试jfhide steghide outguess 最终steghide

导出了fl4g.txt得到新的hex

winhex形成新图片再zsteg -a

发现可疑字符串 base64解密后得到flag

posted @ 2022-02-23 21:23  m1m0ry  阅读(319)  评论(0编辑  收藏  举报