home *** CD-ROM | disk | FTP | other *** search
/ Carsten's PPE Collection / Carstens_PPE_Collection_2007.zip / T / THTLG211.ZIP / HTPASS.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1995-01-25  |  6KB  |  300 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 1.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Integer  INTEGER001
  21.     Integer  INTEGER002
  22.     Integer  INTEGER003
  23.     Integer  INTEGER004
  24.     Integer  INTEGER005
  25.     Integer  INTEGER006
  26.     String   TSTRING001(5)
  27.     String   STRING002
  28.     String   STRING003
  29.     String   STRING004
  30.     String   STRING005
  31.     String   STRING006
  32.     String   STRING007
  33.     String   STRING008
  34.     String   STRING009
  35.     String   STRING010
  36.     String   TSTRING011(10)
  37.  
  38. ;------------------------------------------------------------------------------
  39.  
  40.     GetUser
  41.     FOpen 1, PPEPath() + PPEName() + ".cnf", 0, 0
  42.     FGet 1, INTEGER003
  43.     FGet 1, STRING003
  44.     FGet 1, STRING004
  45.     FGet 1, STRING009
  46.     FGet 1, STRING007
  47.     FGet 1, INTEGER004
  48.     For STRING010 = 1 To INTEGER004
  49.         FGet 1, TSTRING011(STRING010)
  50.     Next
  51.     FClose 1
  52.     :LABEL001
  53.     If (AnsiOn()) Goto LABEL002
  54.     Print "29H"
  55.     Goto LABEL003
  56.     :LABEL002
  57.     AnsiPos 29, 11
  58.     :LABEL003
  59.     InputStr "_", TSTRING001(INTEGER001), 0, 12, Mask_Pwd(), 1
  60.     TSTRING001(INTEGER001) = Upper(TSTRING001(INTEGER001))
  61.     If (TSTRING001(INTEGER001) == U_Pwd) Then
  62.         Cls
  63.         KbdStuff TSTRING001(INTEGER001) + Chr(13)
  64.         Stop
  65.     Endif
  66.     WrUNet PcbNode(), "U", U_Name(), U_City, "hacking accounts", ""
  67.     Log "      Password Failure (" + TSTRING001(INTEGER001) + ")", 1
  68.     Inc INTEGER001
  69.     For INTEGER002 = 1 To INTEGER001
  70.         Beep
  71.     Next
  72.     If (AnsiOn()) Goto LABEL004
  73.     Print "20H"
  74.     Goto LABEL005
  75.     :LABEL004
  76.     AnsiPos 20, 16
  77.     :LABEL005
  78.     PrintLn "@X08∞ @X0CWrong PassWord @X0F@FIRST@@X08 ∞ @X0CTRIES LEFT : @X0F", INTEGER003 - INTEGER001
  79.     If (INTEGER001 < INTEGER003) Goto LABEL001
  80.     If (ReadLine(PCBDat(), 196) == -1) Then
  81.         If (AnsiOn()) Goto LABEL006
  82.         Print "20H" + "                                          "
  83.         Print "20H"
  84.         InputStr "Send a Comment to the Sysop", STRING005, 1, "", "YyNy", 4 + 8
  85.         If (STRING005 == NoChar()) Goto LABEL013
  86.         Goto LABEL007
  87.         :LABEL006
  88.         AnsiPos 20, 16
  89.         Print Space(42)
  90.         AnsiPos 20, 16
  91.         InputStr STRING009, STRING005, 1, "", "YyNy", 4 + 8
  92.         If (STRING005 == NoChar()) Goto LABEL013
  93.         :LABEL007
  94.         DefColor
  95.         Cls
  96.         If (INTEGER004 == 1) Then
  97.             KbdStuff "1" + Chr(13)
  98.             Goto LABEL008
  99.         Endif
  100.         DispFile PPEPath() + "sysops.dsp", 0
  101.         PrintLn "                     @X08 D@X07e@X0Ffault will Be (@X071@X08)"
  102.         For STRING010 = 1 To INTEGER004
  103.             PrintLn "@X0F" + STRING010 + "@X08. @X0F" + TSTRING011(STRING010)
  104.         Next
  105.         :LABEL008
  106.         STRING006 = 1
  107.         Input "@X0F[@X0C@SYSTIME@@X0F] @X0EMATRIX Mail Command? _", STRING006
  108.         If ((STRING006 < 1) || (STRING006 > INTEGER004)) Goto LABEL007
  109.         If ((STRING006 < 1) || (STRING006 > INTEGER004)) Goto LABEL008
  110.         Cls
  111.         INTEGER006 = ReadLine(PCBDat(), 109)
  112.         DispFile PPEPath() + "message.dsp", 0
  113.         If (AnsiOn()) Goto LABEL009
  114.         Print "H"
  115.         PrintLn "@X04To : " + "@X0E  " + "[" + TSTRING011(STRING006) + "]"
  116.         Print "2H"
  117.         PrintLn "@X0F" + INTEGER006
  118.         Print "H"
  119.         Print "@X03From : " + "@X0E" + "[" + U_Name() + "]"
  120.         Print "2H"
  121.         Print "   @X04Subject : " + STRING007
  122.         FClose 1
  123.         Goto LABEL010
  124.         :LABEL009
  125.         AnsiPos 3, 2
  126.         PrintLn "@X04To : " + "@X0E  " + "[" + TSTRING011(STRING006) + "]"
  127.         AnsiPos 32, 2
  128.         PrintLn "@X0F" + INTEGER006
  129.         AnsiPos 3, 3
  130.         Print "@X03From : " + "@X0E" + "[" + U_Name() + "]"
  131.         AnsiPos 32, 3
  132.         Print "   @X04Subject : " + STRING007
  133.         FClose 1
  134.         :LABEL010
  135.         STRING007 = StripAtx(STRING007)
  136.         FAppend 1, PPEPath() + PPEName() + String(PcbNode()) + ".mal", 1, 0
  137.         BOOLEAN001 = 0
  138.         If (AnsiOn()) Goto LABEL011
  139.         INTEGER005 = 8
  140.         Print "H"
  141.         Goto LABEL012
  142.         :LABEL011
  143.         INTEGER005 = GetY() + 3
  144.         AnsiPos 1, INTEGER005
  145.         :LABEL012
  146.         If (BOOLEAN001) Goto LABEL013
  147.         STRING008 = ""
  148.         InputStr "_", STRING008, "", 78, Mask_Ascii(), 512 + 256
  149.         Inc INTEGER005
  150.         If (Upper(STRING008) == "/A") Then
  151.             BOOLEAN001 = 1
  152.             FClose 1
  153.         Endif
  154.         If (Upper(STRING008) == "/S") Then
  155.             BOOLEAN001 = 1
  156.             PrintLn "Sending Message to " + TSTRING011(STRING006)
  157.             FClose 1
  158.             Message "", TSTRING011(STRING006), U_Name(), STRING007, "R", 0, 0, 0, PPEPath() + PPEName() + String(PcbNode()) + ".mal"
  159.         Endif
  160.         FPutLn 1, STRING008
  161.         Goto LABEL012
  162.     Endif
  163.     :LABEL013
  164.     Log "      Access Denied - Excessive Password Failures!", 1
  165.     Cls
  166.     AnsiPos 22, 10
  167.     PrintLn "@X0CToo Many PassWord FAILURES !!!!"
  168.     AnsiPos 22, 11
  169.     PrintLn "@X0CThe Sysop will be NOTIFIED !! "
  170.     STRING002 = PPEPath() + "HackMsg" + String(PcbNode())
  171.     FCreate 3, STRING002, 1, 2
  172.     FPutLn 3, "@X07On @X0C (@X0F" + String(Date()) + "@X0C) @X07At@X0C (@X0F" + String(Time()) + "@X0C)@X07 'somebody' had an excessive number of"
  173.     FPutLn 3, "password failures when he tried to logon with YOUR name !!"
  174.     FPutLn 3, ""
  175.     FPutLn 3, "These are the passwords that he tried to get access with : "
  176.     For INTEGER002 = 0 To INTEGER003 - 1
  177.         FPutLn 3, "@X0F" + TSTRING001(INTEGER002)
  178.     Next
  179.     FPutLn 3, "@X07Please take GOOD care of your password on this board, we recommend"
  180.     FPutLn 3, "you change it frequently and use UNIQUE passwords on every board !"
  181.     FPutLn 3, ""
  182.     FPutLn 3, "═════════════════════════════════════════════════════════════[ THT '94 ]══"
  183.     FClose 3
  184.     Message CurConf(), U_Name(), "SYSOP", "@BEEP@(HACK-REPORT)", "R", 0, 0, 0, STRING002
  185.     STRING002 = PPEPath() + "HackMsg" + String(PcbNode())
  186.     FCreate 3, STRING002, 1, 2
  187.     FPutLn 3, "@X07On @X0C (@X0F" + String(Date()) + "@X0C) @X07At@X0C (@X0F" + String(Time()) + "@X0C)@X07 'somebody' had an excessive number of"
  188.     FPutLn 3, "password failures when he tried to logon AS @X0F" + U_Name() + "@X07"
  189.     FPutLn 3, ""
  190.     FPutLn 3, STRING003
  191.     FPutLn 3, STRING004
  192.     FClose 3
  193.     Message CurConf(), "SYSOP", "Ht-Logon", "@BEEP@(HACK-REPORT)", "R", 0, 0, 0, STRING002
  194.     Delete STRING002
  195.     Hangup
  196.     End
  197.  
  198. ;------------------------------------------------------------------------------
  199. ;
  200. ; Usage report (before postprocessing)
  201. ;
  202. ; ■ Statements used :
  203. ;
  204. ;    1       End
  205. ;    4       Cls
  206. ;    31      Goto 
  207. ;    20      Let 
  208. ;    14      Print 
  209. ;    10      PrintLn 
  210. ;    20      If 
  211. ;    2       DispFile 
  212. ;    1       Input 
  213. ;    2       FCreate 
  214. ;    1       FOpen 
  215. ;    1       FAppend 
  216. ;    7       FClose 
  217. ;    7       FGet 
  218. ;    15      FPutLn 
  219. ;    1       Hangup
  220. ;    1       GetUser
  221. ;    1       DefColor
  222. ;    1       Delete 
  223. ;    2       Log 
  224. ;    4       InputStr 
  225. ;    2       Inc 
  226. ;    1       Stop
  227. ;    1       Beep
  228. ;    2       KbdStuff 
  229. ;    1       WrUNet 
  230. ;    11      AnsiPos 
  231. ;    3       Message 
  232. ;
  233. ;
  234. ; ■ Functions used :
  235. ;
  236. ;    1       -
  237. ;    62      +
  238. ;    3       -
  239. ;    7       ==
  240. ;    7       <
  241. ;    4       <=
  242. ;    2       >
  243. ;    8       >=
  244. ;    15      !
  245. ;    8       &&
  246. ;    6       ||
  247. ;    3       Upper()
  248. ;    1       Space()
  249. ;    2       Chr()
  250. ;    2       Date()
  251. ;    2       Time()
  252. ;    6       U_Name()
  253. ;    2       NoChar()
  254. ;    1       StripAtx()
  255. ;    8       String()
  256. ;    1       Mask_Pwd()
  257. ;    1       Mask_Ascii()
  258. ;    2       CurConf()
  259. ;    2       PCBDat()
  260. ;    7       PPEPath()
  261. ;    5       PcbNode()
  262. ;    2       ReadLine()
  263. ;    5       AnsiOn()
  264. ;    1       GetY()
  265. ;    3       PPEName()
  266. ;
  267. ;------------------------------------------------------------------------------
  268. ;
  269. ; Analysis flags : BdH
  270. ;
  271. ; B - Brute hangup ■ 1
  272. ;     Program hangup without notification. This may be a good way to
  273. ;     disconnect a user, but if used randomly, may be very nasty
  274. ;     ■ Search for : HANGUP, DTROFF
  275. ;
  276. ; d - Access PCBOARD.DAT ■ 2
  277. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  278. ;     for many PPE so they can find various informations on the system
  279. ;     (system paths, max number of lines in messages, ...) but it may also
  280. ;     be a way to gather vital informations.
  281. ;     ■ Search for : PCBDAT()
  282. ;
  283. ; H - Read Password or Password History ■ 5
  284. ;     Program is reading the user's password or last password history
  285. ;     This may be ok for a password manager, but it is very suspect. Check!
  286. ;     ■ Search for : U_PWDHIST, U_PWD
  287. ;
  288. ;------------------------------------------------------------------------------
  289. ;
  290. ; Postprocessing report
  291. ;
  292. ;    4       For/Next
  293. ;    0       While/EndWhile
  294. ;    5       If/Then or If/Then/Else
  295. ;    0       Select Case
  296. ;
  297. ;------------------------------------------------------------------------------
  298. ;                 AEGiS Corp - Break the routines, code against the machines!
  299. ;------------------------------------------------------------------------------
  300.