Des idées pour ton projet. Tu as deux optiques de sécurisation. Soit tu interdit certains objets, soit tu as une liste d'objets à créer. En tout cas au niveau évolution il vaudrais mieux que tu laisses ça paramétrable.
Si tu veux aller plus loin dans le sujet, tu peux créer une liste distante sur ton serveur web, et laisser le choix à l'utilisateur de faire des updates automatiques. A chaque faille tu met à jour tes deux listes.
Maintenant je te propose une autre chose. Le temps d'interprétation du VBS est beaucoup trop lent quoi que t'y fasses.
Utilises le compilateur de VB et laisses le choix au mec de faire des ASSX. Une fois le mec ayant fait son ASSX tu n'auras plus qu'à vérifier lors du premier appel si celui-ci est compilé ou pas. Dans le cas où il serais pas compilé tu le compiles en mode DLL. La page tu la place sous forme de code, dans une procédure du style :
Public Sub Start(byref Server as ObjServer, byref Response as ObjReponse, byref Cookies as ObjCookies etc...)
Bon lors de l'appel tu charges tes classes, tu leur mets les infos. Ensuite tu link vers la DLL dynamiquement, et tu lui demandes le point d'entrée vers ta fonction Start.
Tu passes en paramétres tes Objets. La page va les compléter avec la réponse HTML. Tu envoyes par exemple en ByRef l'objet Reponse. Cette classe aura par exemple la Procédure Send(Texte). A chaque appel tu auras le Texte qui se met en buffer. A la fin de l'execution de la page, tu envoyes tout ça.
Et là tu ferais l'équivalent de l'asp .net, sauf que tu n'aurais pas de framework de proposé. Si veux proposer le framework, tu devras compiler ça en .net. Ensuite mattes les RFC pour être sûr que tu sois compatible avec IIS 6.0 mais bon je pense qu'ils doivent pas les communiquer krosoft, pour éviter que kkl1 leur vole la vedette.
Tu vois, y'à pas mal de possibilitées, et tu peux même compiler en C++, tu seras en tout cas plus performant que le PHP, à voir ensuite pour l'asp.
Si tu veux on peut s'associer sur ce genre de projet car je compte développer la même chose. Contactes moi si t'as envie de coder ce que je t'ai expliqué plus haut, voir plus.
DeadlyPredator
Messages postés222Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention30 juin 2008 19 janv. 2004 à 03:53
Aussitot dit, aussitot fait. J'ai rajouter la classe Server. Avant de lancer le code, une vérification est éffectuée et createobject est remplacé par server.newobj donc vous avez le plein controle si vous voulez refuser certains activeX. Vous pouvez refuser les msgbox et les inputbox. JE VEUX SAVOIR LA LISTE DES FONCTIONS DU GENRE À ENLEVER S.V.P.
DeadlyPredator
Messages postés222Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention30 juin 2008 19 janv. 2004 à 01:48
bonne idée, je vais essayer. Il va me falloir faire la liste de toute les activités dangereuses liées au VBScript. Il va aussi falloir enlever certaines actions non-serveur comme msgbox, inputbox ... feque yen a encore pas mal à faire
gabchampagne
Messages postés216Date d'inscriptionmercredi 2 avril 2003StatutMembreDernière intervention 5 mai 2004 18 janv. 2004 à 23:43
j'ai une idée : créer une classe serveur avec la fonction CreateObject. Je pourrais ainsi contrôler la création des objects car je remplacerait createobject par server.createobject. Pi faut aussi que je désactive les msgbox et les input box. mais anyway, c'est vous qui allez dire quoi éxécuter grace aux pages que vous avez placer sur le serveur donc ya pas de probs.
gabchampagne
Messages postés216Date d'inscriptionmercredi 2 avril 2003StatutMembreDernière intervention 5 mai 2004 18 janv. 2004 à 23:39
ATTENT. C POUR UN SERVEUR HTTP. CA VA INTERPRÉTER LES PAGES QUE TU A PLACER SUR LE SERVEUR. SI UN CLIENT UPLOAD UNE PAGE SSA, LA C'EST TON PROBLÈME. Check : avec asp, tu peux aussi faire des trucs dangereux
cs_titou2002
Messages postés50Date d'inscriptionmardi 17 septembre 2002StatutMembreDernière intervention25 avril 2005 18 janv. 2004 à 16:13
bah le seul truc c'est qu'il faudrait faire des fonctions et n'autoriser que l'execution de ces fonctions, comme le php, parce que sinon c'est vrai que c'est trop dangereux
lumesh
Messages postés564Date d'inscriptionjeudi 21 février 2002StatutMembreDernière intervention 7 novembre 2008 18 janv. 2004 à 11:49
C'est trop trop dangereux ton truc ! surtout ke tu ne controle rien !
C'est le windows ki execute ton vbs donc tu n'a aucune main la dessus !
C comme si ti laissais le datacenter d'une banque a l'air libre et ke tu disais, hacker profités c gratuit !
lol
DeadlyPredator
Messages postés222Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention30 juin 2008 18 janv. 2004 à 07:04
voici un exemple concret :
Tu as un serveur HTTP
Un client télécharge la page envoie.ssa
Ton serveur détecte que c'est une page ssa
Il l'envoie au parser
Celui ci effectue le script mais sur le serveur
un script dans la page dit de créer un fichier appelé resultats.txt
le fichier est créer sur le serveur
le serveur renvoit donc les résultats de la page
gabchampagne
Messages postés216Date d'inscriptionmercredi 2 avril 2003StatutMembreDernière intervention 5 mai 2004 18 janv. 2004 à 02:35
Quand on créer un serveur http, cela sert à faire tourner des scripts côté serveur. Comme asp. On peut facilement personaliser cela.
cs_windob
Messages postés225Date d'inscriptiondimanche 19 octobre 2003StatutMembreDernière intervention25 août 2008 17 janv. 2004 à 23:58
ça a l'air pas mal ton truc, en fait c'est vb dans une page web en gros non ?
DeadlyPredator
Messages postés222Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention30 juin 2008 17 janv. 2004 à 07:19
Oups, UTILISEZ PAS LE SCRIPT D'EXEMPLE DANS LE MESSAGE QUE J'AI ENVOYÉ, IL MARCHE PAS. MAIS CELUI DANS LE ZIP MARCHE
DeadlyPredator
Messages postés222Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention30 juin 2008 17 janv. 2004 à 07:18
oups. J'ai oublé. VBS Marche UNIQUEMENT Avec des variables "variant" donc j'ai arrangé quelques détails. pi j'ai créer un petit texte sur SSA :
SSA ou script serveur actif
SSA est une technologie qui permet d'éxécuter des scripts Visual Basic
du côté serveur. Cela permet de créer des fichiers sur un serveur par exemple.
Les clients ne peuvent pas voir le script mais il s'éxécute. Voici la façcon
d'utiliser SSA:
<?
Le script SSA
?>
Il est TRÈS IMPORTANT DE NOTER QUE <? et ?> DOIVENT ÊTRE SEULS SUR
UNE LIGNE SÉPARÉE DONC PAS DE :
<?
"script SSA"
?>
Voici un très bon exemple de script ass :
<html>
<head>
<title>Allo</title>
<head>
<?
sub main
dim fso, drv, drv_col
set fso=createobject("scripting.filesystemobject")
set drv_col=fso.drives
for each drv in drv_col
response.writeresponse drv.driveletter & ":
"
next
end sub
?>
</html>
Cela créer une liste des lettres de lecteurs et les renvoient
Pi en parlant, j'ai fait le test et on peut sans problèmes placer plusieurs script ssa sur une même page.
DeadlyPredator
Messages postés222Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention30 juin 2008 17 janv. 2004 à 06:51
Cela sera une partie de mon nouveau serveur HTTP que je prépare. SSA Sera un language riche et il est simple. Je pense que je vais créer une DLL ActiveX pour SSA.
12 sept. 2004 à 02:19
Si tu veux aller plus loin dans le sujet, tu peux créer une liste distante sur ton serveur web, et laisser le choix à l'utilisateur de faire des updates automatiques. A chaque faille tu met à jour tes deux listes.
Maintenant je te propose une autre chose. Le temps d'interprétation du VBS est beaucoup trop lent quoi que t'y fasses.
Utilises le compilateur de VB et laisses le choix au mec de faire des ASSX. Une fois le mec ayant fait son ASSX tu n'auras plus qu'à vérifier lors du premier appel si celui-ci est compilé ou pas. Dans le cas où il serais pas compilé tu le compiles en mode DLL. La page tu la place sous forme de code, dans une procédure du style :
Public Sub Start(byref Server as ObjServer, byref Response as ObjReponse, byref Cookies as ObjCookies etc...)
Bon lors de l'appel tu charges tes classes, tu leur mets les infos. Ensuite tu link vers la DLL dynamiquement, et tu lui demandes le point d'entrée vers ta fonction Start.
Tu passes en paramétres tes Objets. La page va les compléter avec la réponse HTML. Tu envoyes par exemple en ByRef l'objet Reponse. Cette classe aura par exemple la Procédure Send(Texte). A chaque appel tu auras le Texte qui se met en buffer. A la fin de l'execution de la page, tu envoyes tout ça.
Et là tu ferais l'équivalent de l'asp .net, sauf que tu n'aurais pas de framework de proposé. Si veux proposer le framework, tu devras compiler ça en .net. Ensuite mattes les RFC pour être sûr que tu sois compatible avec IIS 6.0 mais bon je pense qu'ils doivent pas les communiquer krosoft, pour éviter que kkl1 leur vole la vedette.
Tu vois, y'à pas mal de possibilitées, et tu peux même compiler en C++, tu seras en tout cas plus performant que le PHP, à voir ensuite pour l'asp.
Si tu veux on peut s'associer sur ce genre de projet car je compte développer la même chose. Contactes moi si t'as envie de coder ce que je t'ai expliqué plus haut, voir plus.
19 janv. 2004 à 03:53
19 janv. 2004 à 01:48
18 janv. 2004 à 23:43
18 janv. 2004 à 23:39
18 janv. 2004 à 16:13
18 janv. 2004 à 11:49
C'est le windows ki execute ton vbs donc tu n'a aucune main la dessus !
C comme si ti laissais le datacenter d'une banque a l'air libre et ke tu disais, hacker profités c gratuit !
lol
18 janv. 2004 à 07:04
Tu as un serveur HTTP
Un client télécharge la page envoie.ssa
Ton serveur détecte que c'est une page ssa
Il l'envoie au parser
Celui ci effectue le script mais sur le serveur
un script dans la page dit de créer un fichier appelé resultats.txt
le fichier est créer sur le serveur
le serveur renvoit donc les résultats de la page
18 janv. 2004 à 02:35
17 janv. 2004 à 23:58
17 janv. 2004 à 07:19
17 janv. 2004 à 07:18
SSA ou script serveur actif
SSA est une technologie qui permet d'éxécuter des scripts Visual Basic
du côté serveur. Cela permet de créer des fichiers sur un serveur par exemple.
Les clients ne peuvent pas voir le script mais il s'éxécute. Voici la façcon
d'utiliser SSA:
<?
Le script SSA
?>
Il est TRÈS IMPORTANT DE NOTER QUE <? et ?> DOIVENT ÊTRE SEULS SUR
UNE LIGNE SÉPARÉE DONC PAS DE :
<?
"script SSA"
?>
Voici un très bon exemple de script ass :
<html>
<head>
<title>Allo</title>
<head>
<?
sub main
dim fso, drv, drv_col
set fso=createobject("scripting.filesystemobject")
set drv_col=fso.drives
for each drv in drv_col
response.writeresponse drv.driveletter & ":
"
next
end sub
?>
</html>
Cela créer une liste des lettres de lecteurs et les renvoient
Pi en parlant, j'ai fait le test et on peut sans problèmes placer plusieurs script ssa sur une même page.
17 janv. 2004 à 06:51