2022.7.19 图像分析学习

攻防世界-Mysterious-GIF(图像分析)

附件是一个gif文件。

image.png

看看文件内部有没有信息

strings /home/kali/Desktop/382e5c74bb7b4214ac6b855e503a56b9.gif > str.txt

image.png

有一个比较可疑的字符串

4d494945767749424144414e42676b71686b6947397730424151454641415343424b6b776767536c41674541416f4942415144644d4e624c3571565769435172

比较像十六进制数,我们使用cyber转码一下看看

出来了这个,姑且先放着,可能是对结果的一个线索

MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDdMNbL5qVWiCQr

使用identify命令进行图像分析。

发现每帧图像里面有comment选项。

image.png

我们把他们筛选出来。

identify -verbose /home/kali/Desktop/382e5c74bb7b4214ac6b855e503a56b9.gif | grep "Comment" >  res3.txt 

结果如下

image.png

做到这,我们能想到什么?

这很像公钥和私钥加解密。

我们延续这样的思路,把他们处理一下合并后,得到一个公/私钥。

5832773639712f377933536849507565707478664177525162524f72653330633655772f6f4b3877655a547834346d30414c6f75685634364b63514a6b68727167384f79337335593546563177434b3736367532574c775672574d49554a47316a4444725276595049635135557143703545445143696f524d4763555a45673275766c3134324c44424161654f4c7a464d3465324a637a532b307238356d5052724353786a4c4b4c614c774949516e5a58497058535552562f776a6877575231664a474738512b7563454170615873634e435546343462506d344850434a2f306d7244435457482f59324350564a6b4e6b2b6f305637564f74484b734d4c344e434e414a483434572f4952774a6e744e572b4e3848726770526b467567686d4e6a63776c456b7274554b4731735243792f2f57687544756e5632706853525176486f74425a76796441674d424141454367674542414a79614e336d6c6b756e772b617137704b5561677636437a6442477964394a78447941706b314b374f493854426873464d2f33744246654131592f41762b7568434c727967726b4279652f6963372f2b30356f3853392b65674d6b52584e484b41757952336752696b77597678454b634a676a5a5a4c524656794159372f6c477634774e42683362495044664631446739737a596e6b774948396c4c454679656d4d3734416941596c63716456645a49452f6271325a344a4f307439484367485a4e6651374a645266656a4e4a51565955443031517535644d744f523465494d6462576b6862565877325445304837785178746a7754367a557270714576764f376533464845734249583635565258524c6276394f6f61794a786352715838654a6b5269344c2f597a6f344b5470456d6b64754a4c58734677743361715154626a5a48584f6c5454344e45647348327030547343414543675945412f653162737a4f3061312b63426144516a514f2b50763942734a464442336f314c477555484d4e53384644706e334a3436556b59796b353276496130763454636a715353484e4976585730544445556b624e4641314870557856786c7730426965656838426733486658795142685876645444376b306c73446d4d456f3455504b59533644356359577972776864356e4344304c72786562674f373552784c35514549452b34435649516b4367594541337638522f584b52564a50453461456567377051347554766346786a454e4e65787866364b34787059344c6639636c49766465635268433274314864522b7853756c552f52536152727a4863773378672b4c31754f3073317435533766336e753361696849586b636747537158435a3156487a426d65433430545673664179627337714a30785936543571384d6e78324f62355a336c49477579686a655661744649493253647a324a2f55436759454174654131357a516f6a53504e482b62676d62424e717465763247556a536f374932556b777243316e45595153346362665064444364643066684d6444585534766e2b66575539686b58706d4b7043592b416363626c56554e744e4d4b6649423453484d78716a426961386f31616e5a35726b6e6f5638576d4a4f50645a6259666478422f4b4432454434444243464756494c79417975657731506657436f64586969502f5a356a67742b6b4367594541727378716f61306f316f3975695237752b48735835494e6f5854394f4f475933715144576a55526e61435779774d756a525979355a774b363930416f6f4c5253744e555633334b3453416868384b7153714f6830652b34636b5762354170666c38634b3561362b76383854303958384141645935504247335465622b7673357a54704d75626c54434b4a773259617a4754385579564e38666635334e4f3951426f4533686d45796f642f4543675941396b307879434a7a6376654b6478727936706a51786b39465a7a3341744570316f635635566f776167562b4f4e657a2f4863634638474a4f384244716c5036586b634c5574736e70367459526545494349484b7735432b667741586c4649746d30396145565458772b787a4c4a623253723667415450574d35715661756278667362356d58482f77443969434c684a536f724b3052485a6b745062457335797444737142486435504646773d3d

十六进制转化一下成base64

MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDdMNbL5qVWiCQr
X2w69q/7y3ShIPueptxfAwRQbROre30c6Uw/oK8weZTx44m0ALouhV46KcQJkhrq
g8Oy3s5Y5FV1wCK766u2WLwVrWMIUJG1jDDrRvYPIcQ5UqCp5EDQCioRMGcUZEg2
uvl142LDBAaeOLzFM4e2JczS+0r85mPRrCSxjLKLaLwIIQnZXIpXSURV/wjhwWR1
fJGG8Q+ucEApaXscNCUF44bPm4HPCJ/0mrDCTWH/Y2CPVJkNk+o0V7VOtHKsML4N
CNAJH44W/IRwJntNW+N8HrgpRkFughmNjcwlEkrtUKG1sRCy//WhuDunV2phSRQv
HotBZvydAgMBAAECggEBAJyaN3mlkunw+aq7pKUagv6CzdBGyd9JxDyApk1K7OI8
TBhsFM/3tBFeA1Y/Av+uhCLrygrkBye/ic7/+05o8S9+egMkRXNHKAuyR3gRikwY
vxEKcJgjZZLRFVyAY7/lGv4wNBh3bIPDfF1Dg9szYnkwIH9lLEFyemM74AiAYlcq
dVdZIE/bq2Z4JO0t9HCgHZNfQ7JdRfejNJQVYUD01Qu5dMtOR4eIMdbWkhbVXw2T
E0H7xQxtjwT6zUrpqEvvO7e3FHEsBIX65VRXRLbv9OoayJxcRqX8eJkRi4L/Yzo4
KTpEmkduJLXsFwt3aqQTbjZHXOlTT4NEdsH2p0TsCAECgYEA/e1bszO0a1+cBaDQ
jQO+Pv9BsJFDB3o1LGuUHMNS8FDpn3J46UkYyk52vIa0v4TcjqSSHNIvXW0TDEUk
bNFA1HpUxVxlw0Bieeh8Bg3HfXyQBhXvdTD7k0lsDmMEo4UPKYS6D5cYWyrwhd5n
CD0LrxebgO75RxL5QEIE+4CVIQkCgYEA3v8R/XKRVJPE4aEeg7pQ4uTvcFxjENNe
xxf6K4xpY4Lf9clIvdecRhC2t1HdR+xSulU/RSaRrzHcw3xg+L1uO0s1t5S7f3nu
3aihIXkcgGSqXCZ1VHzBmeC40TVsfAybs7qJ0xY6T5q8Mnx2Ob5Z3lIGuyhjeVat
FII2Sdz2J/UCgYEAteA15zQojSPNH+bgmbBNqtev2GUjSo7I2UkwrC1nEYQS4cbf
PdDCdd0fhMdDXU4vn+fWU9hkXpmKpCY+AccblVUNtNMKfIB4SHMxqjBia8o1anZ5
rknoV8WmJOPdZbYfdxB/KD2ED4DBCFGVILyAyuew1PfWCodXiiP/Z5jgt+kCgYEA
rsxqoa0o1o9uiR7u+HsX5INoXT9OOGY3qQDWjURnaCWywMujRYy5ZwK690AooLRS
tNUV33K4SAhh8KqSqOh0e+4ckWb5Apfl8cK5a6+v88T09X8AAdY5PBG3Teb+vs5z
TpMublTCKJw2YazGT8UyVN8ff53NO9QBoE3hmEyod/ECgYA9k0xyCJzcveKdxry6
pjQxk9FZz3AtEp1ocV5VowagV+ONez/HccF8GJO8BDqlP6XkcLUtsnp6tYReEICI
HKw5C+fwAXlFItm09aEVTXw+xzLJb2Sr6gATPWM5qVaubxfsb5mXH/wD9iCLhJSo
rK0RHZktPbEs5ytDsqBHd5PFFw==

好,接下来,总要有个待破译的文件把。

用binwalk进行分析

想到可能有其他的文件,我们用binwalk进行分析。果真出来了zip文件,zip文件是从partaa到partke 的.enc文件。

image.png

ENC文件是通用编码文件,可以使用几种不同类型的专有或标准编码中的一种。 它的编码方式有助于保护文件免遭未经授权的使用,或帮助针对特定用途(例如Internet传输)设置文件。

值得注意的是,他们的size都是256字节,我们猜测这是RSA公钥加密后的文件,而私钥就是我们从元数据中得到的那一串。

到这里,就剩下最后一步,破译了。

批量解密enc文件(shell脚本)

我们使用zsh课程设计上讲到的openssl来解密

这边注意一下私钥需要文件头

image.png

你看,我直接纯文本放进去会报错,我们随便生成一个私钥,会发现前后有一个begin end标识

openssl genrsa -out rsa.key 2048

image.png

我们加进去以后发现图标也变了。

再次解密

openssl rsautl -decrypt -inkey private_key_breakin -in /home/kali/Desktop/encrypted_file/partaa.enc -out aaa

发现出来了jpeg文件

OK,既然可以成功,我们编写shell脚本,让他把所有的文件都解密一遍。

#!/bin/bash
files=$(ls /home/kali/Desktop/a)
a="aa"
n=1
for f in $files; do
        openssl rsautl -decrypt -inkey private_key -in /home/kali/Desktop/a/$f -out $a$n;
	n=$(($n+1));
done

image.png

cat合并多个文件为一个文件

我们使用cat 合并 并 输出到flag中

cat aa* > flag

image.png

flag是

FelicityIsFun

完结。

攻防世界:web—— PHP2(phps)

这边我们发现没有找到我们想要的目录

image.png

后发现存在.phps文件

后缀名为.phps的文件出现在无法使用web浏览器查看php源代码的情况下,.phps文件就是对应文件的源代码!

打开后出现如下的php代码

<?php
if("admin"===$_GET[id]) {
  echo("<p>not allowed!</p>");
  exit();
}


$_GET[id] = urldecode($_GET[id]);
if($_GET[id] == "admin")
{
  echo "<p>Access granted!</p>";
  echo "<p>Key: xxxxxxx </p>";
}
?>

大概意思就是,get传参的id值url解密后如果是admin的话就通过。

我们将adimin 进行url加密后得到 %61%64%6d%69%6e,但是注意,url传入后会自动进行一次url解码,我们需要进行二次加密,得到%25%36%31%25%36%34%25%36%64%25%36%39%25%36%65。

传入到index.php看看回显了什么。

image.png

image.png

得到flag

posted @ 2022-07-19 21:57  yuezi2048  阅读(118)  评论(0编辑  收藏  举报