require 'Gelo' ReqEditor = {} function ReqEditor:drawui(req,head) browser.dofile(Syhunt.filename,'Fuzzer.lua') browser.dofile(Syhunt.filename,'Tor.lua') html = [[
</plaintext> </td><td style="width:3px;"></td><td width="50%"> <plaintext name="header" readonly="true"></plaintext></td></tr></table> <button onclick="ReqEditor:sendrequest()">Send Request</button> <button onclick="Fuzzer:loadfromreqeditor()">Load In Fuzzer</button> <button onclick="ReqEditor:vieweditor()">Reset</button> &nbsp;&nbsp;<button type="checkbox" name="render" checked>Render Response</button> ]] if Tor:IsRunning() then html = html..'&nbsp;&nbsp;<button type="checkbox" name="viator">Send Via Tor</button>' end extbar.load(html) extbar.setval('plaintext[name="request"]',req) extbar.setval('plaintext[name="header"]',head) end function ReqEditor:sendrequest() local reqdetails = 'Editor Request' tab:viewheaders() http = GHTTPRequest:new() host = url_gethost(tab.url) port = url_getport(tab.url) request = extbar.getval('plaintext[name="request"]')..'\n\n' if http_getfield(request,'Host') ~= '' then host = http_getfield(request,'Host') host = str_trim(host) port = 80 if wildmatch(host,'*:*') then port = str_after(host,':') host = str_before(host,':') end end if extbar.getval('button[name="viator"]') == 'True' then reqdetails = 'Editor Request (Via Tor)' http.socksserver = Tor.server http.socksport = Tor.port http.sockslevel = Tor.level http.useproxy = true else http.socksserver = '' http.socksport = '' http.useproxy = false end http.autocontentlength = true http:openlow(host,port,request) extbar.setval('plaintext[name="request"]',request) extbar.setval('plaintext[name="header"]',http:rcvdheader()) newpath = http_getreqpath(request) newurl = hostporttourl(host,port)..newpath tab:logrequest(reqdetails,http.contentlength,request,http:rcvdheader(),http.text) if extbar.getval('button[name="render"]') == 'True' then tab:gotourl(newurl,http.text) else tab:gotourl(newurl,html_escape(http.text)) tab.source = http.text end http:release() end function ReqEditor:vieweditor() if str_beginswith(tab.url,'http') then http = GHTTPRequest:new() http:open('GET',tab.url) ReqEditor:drawui(http:sentheader(),http:rcvdheader()) http:release() else app.showmessage('No URL loaded.') end end