Advertisement
Guest User

parsing cgi lua

a guest
Apr 9th, 2017
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.08 KB | None | 0 0
  1. #!/usr/bin/env lua
  2.  
  3. print ("Content-type: Text/html\n")
  4.  
  5. local info = os.getenv("QUERY_STRING")
  6. local params = {}
  7. local echo = {}
  8.  
  9. pagetop = [[
  10. <html>
  11. <head>
  12.  
  13. <body text=blue>
  14.  
  15. <form>
  16. user:<br><input name=user><br>
  17. pass:<br><input name=pass><br>
  18. <input type=submit value="go!">
  19.  
  20. </form>
  21. Result:
  22. ]]
  23.  
  24. pagebase = [[
  25. <br><br>
  26. </body>
  27. </html>
  28. ]]
  29.  
  30.  
  31. for name, value in string.gmatch(info .. '&', '(.-)%=(.-)%&') do
  32.         value = string.gsub(value , '%+', ' ')
  33.         value = string.gsub(value , '%%(%x%x)', function(dpc)
  34.                 return string.char(tonumber(dpc,16))
  35.                 end )
  36.         params[name] = value
  37.  
  38.         value = string.gsub(value, "%&", "&amp;")
  39.         value = string.gsub(value, "%<", "&lt;")
  40.         value = string.gsub(value, '%"', "&quot;")
  41.         echo[name] = value
  42.  
  43.         end
  44.  
  45. print (pagetop)
  46.  
  47. if params["user"] == "test" then
  48.     user= params["user"]
  49.     pass= params["pass"]
  50.     cmd = io.popen("/var/www/cgi-bin/./test.sh '"..user.." "..pass.."'")
  51.     output = cmd:read('*all')
  52.     cmd:close()
  53.     print(output)
  54. end
  55.  
  56. print (pagebase)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement