ugrás a tartalomhoz

File egészség ellenőrző

vbence · 2006. Jún. 16. (P), 19.29
Üdv!

Létezik olyan csomag, ami egy (feltöltött) file szabályosságát vizsgálja? Mostanában rengeteg exploit akadt az utamba, ami képfájlokkal kapcsolatos. Egy program viszonylag egyszerűen ellenőrizhetné, hogy egy fájl fomátuma megfelel-e a szabványnak (inkonzisztenciák a fejlécben, túl kicsi vagy nagy adatblokk stb...)

Még a konvertálás sem megoldás, mert magát a GD-t is támadhatják. Furcsálanám, ha nem lenne erre még valami tool.
 
1

Víruskereső

attlad · 2006. Jún. 17. (Szo), 10.32
Nem a víruskereső programokat találták ki erre? Parancssorba beírtam:
$ apt-cache search virus
[...]
clamav - antivirus scanner for Unix
[...]
php4-clamavlib - PHP ClamAV Lib - ClamAV Interface for PHP4 Scripts
php5-clamavlib - PHP ClamAV Lib - ClamAV Interface for PHP5 Scripts

Azt nem tudom ClamAV milyen jó/rossz.
2

Nem rossz ötlet

vbence · 2006. Jún. 17. (Szo), 18.03
Tulajdonképpen a víruskereséssel rokon feladatról van szó, de nem láttam olyan vírusölőt, ami szólt volna, hogy ez a jpg csak félig van letöltve, meg hasonlók. Meg aztán sokkal nagyobb lélekzetű egy víruskeresést átfuttatni egy fájlon, mint pár egyszerű konzisztencia tesztet.

Másrészt meg a víruskeresők azután kezdenek felismerni egy problémát, hogy a botrány kirobbant, és tele van vele minden levlista. Ez inkább a rég elfeledett heurisztikus keresésre hasonlítana, de ezekszerint rózsaszínű ábránd csupán.. :)

De kipróbálom a clamav-ot mondjuk egy redelten WMF fájlon..
3

identify

attlad · 2006. Jún. 17. (Szo), 19.04
jpg csak félig van letöltve, meg hasonlók

Az ImageMagick része az identify. Ezt írják man-ban:
It describes the format and characteristics of one or more image files. It also reports if an image is incomplete or corrupt.

Kipróbáltam:
$ identify teszt.jpg
teszt.jpg JPEG 167x179 DirectClass 8kb

Feldaraboltam 2 darabba a fájlt, utána:
$ identify teszt.jpg.001
teszt.jpg.001 JPEG 167x179 DirectClass 4kb
identify: Corrupt JPEG data: premature end of data segment `teszt.jpg.001'.

$ identify teszt.jpg.002
identify: no decode delegate for this image format `teszt.jpg.002'.

(Van -verbose opciója, ami sokkal több adatot ír ki.)