Projects STRLCPY agartha Commits f2fdcb5c
🤬
  • ■ ■ ■ ■ ■ ■
    Agartha.py
    skipped 15 lines
    16 16  except:
    17 17   print "==== ERROR ====" + "\n\nFailed to load dependencies.\n" +str(sys.exc_info()[1]) +"\n\n==== ERROR ====\n\n"
    18 18   
    19  -VERSION = "0.952"
     19 +VERSION = "0.954"
    20 20   
    21 21  class BurpExtender(IBurpExtender, ITab, IMessageEditorController, IContextMenuFactory):
    22 22  
    23 23   def registerExtenderCallbacks(self, callbacks):
    24 24   self._callbacks = callbacks
    25 25   self._helpers = callbacks.getHelpers()
    26  - self._callbacks.setExtensionName("Agartha {LFI|RCE|SQLi|Auth|Http->Js}")
     26 + self._callbacks.setExtensionName("Agartha - LFI, RCE, SQLi, Auth, HTTP to JS")
    27 27   self._MainTabs = JTabbedPane()
    28 28   self._tabDictUI()
    29 29   self._tabAuthUI()
    skipped 5 lines
    35 35   callbacks.registerContextMenuFactory(self)
    36 36   callbacks.issueAlert("The extension has been loaded.")
    37 37   self.tableMatrixReset(self)
    38  - print "Agartha(v" + VERSION + ") is a security tool for:\n\t\t* Local File Inclusion, Directory Traversal\n\t\t* Command Injection, RCE\n\t\t* SQL Injections\n\t\t* Access Violations, Authentication/Authorization Matrix\n\t\t* Http request to Javascript conversion\n\nFor more information and tutorial how to use, please visit:\n\t\thttps://github.com/volkandindar/agartha\n\nAuthor:\tVolkan Dindar\n\t\t\t\[email protected]"
     38 + print "Agartha(v" + VERSION + ") is a security tool for:\n\t\t* Local File Inclusion, Directory Traversal\n\t\t* Command Injection, RCE\n\t\t* SQL Injections\n\t\t* Access Violations, Authentication/Authorization Matrix\n\t\t* Http request to Javascript conversion\n\nFor more information and tutorial, please visit:\n\t\thttps://github.com/volkandindar/agartha\n\nAuthor:\tVolkan Dindar\n\t\t\t\[email protected]"
    39 39   return
    40 40   
    41 41   def authMatrixThread(self, ev):
    skipped 619 lines
    661 661   def createMenuItems(self, invocation):
    662 662   self.context = invocation
    663 663   menu_list = ArrayList()
    664  - menu_list.add(JMenuItem("Agartha Panel", actionPerformed=self.agartha_menu))
     664 + menu_list.add(JMenuItem("Authorization Matrix", actionPerformed=self.agartha_menu))
    665 665   menu_list.add(JMenuItem("Copy as JavaScript", actionPerformed=self.js_menu))
    666 666   return menu_list
    667 667   
    skipped 198 lines
    866 866   self.editorPaneInfo.setContentType("text/html");
    867 867   htmlString ="<html>"
    868 868   htmlString +="<div><h3>Author: Volkan Dindar, Github Repo: https://github.com/volkandindar/agartha</h3>"
    869  - htmlString +="<h1>Agartha { LFI | RCE | SQLi | Auth | Http->Js }</h1>"
     869 + htmlString +="<h1>Agartha - LFI, RCE, SQLi, Auth, HTTP to JS</h1>"
    870 870   htmlString +="<p>Agartha is a penetration testing tool which creates dynamic payload lists and user access matrix to reveal injection flaws and authentication/authorization issues. There are many different attack payloads alredy exist, but Agartha creates run-time, systematic and vendor-neutral payloads with many different possibilities and bypassing methods. It also draws attention to user session and URL relationships, which makes easy to find user access violations. And additionally, it converts Http requests to JavaScript to help digging up XSS issues more. In summary:</p><ul>"
    871 871   htmlString +="<li><strong>Payload Generator</strong>: It creates payloads/wordlists for different attack types.<ul>"
    872 872   htmlString +="<li><strong>Local File Inclusion, Directory Traversal</strong>: It creates file dictionary lists with various encoding and escaping characters.</li>"
    873 873   htmlString +="<li><strong>Command Injection / Remote Code Execution</strong>: It creates command dictionary lists for both unix and windows environments with different combinations.</li>"
    874 874   htmlString +="<li><strong>SQL Injection</strong>: It creates Stacked Queries, Boolean-Based, Union-Based, Time-Based and Order-Based SQL Injection wordlist for various databases to help finding vulnerable spots.</li></ul></li>"
    875 875   htmlString +="<li><strong>Authorization Matrix</strong>: It creates an access role matrix based on user sessions and URL lists to determine authorization/authentication related access violation issues.</li>"
    876  - htmlString +="<li>And <strong>Http Request to JavaScript Converter</strong>: It converts Http requests to JavaScript code to be useful for further XSS exploitation and more.<br><br></li></ul>"
     876 + htmlString +="<li>And <strong>Copy as JavaScript</strong>: It converts Http requests to JavaScript code to be useful for further XSS exploitation and more.<br><br></li></ul>"
    877 877   htmlString +="<h2>Local File Inclusion, Directory Traversal</h2>"
    878 878   htmlString +="<p>It both supports unix and windows file systems. You can generate any wordlists dynamically for the path you want. You just need to supply a file path and that's all.</p>"
    879 879   htmlString +="<p><strong>'Depth'</strong> is representation of how deep the wordlist should be. You can generate wordlists 'till' or 'equal to' this value.</p>"
    skipped 12 lines
    892 892   htmlString +="<p><img width=\"1000\" alt=\"Images from Github Repo - SQL Injection wordlist\" src=\"https://user-images.githubusercontent.com/50321735/192443768-a8113e64-3f56-4282-bd11-b2c3d91be53e.png\" style=\"max-width: 100%;\"><br><br></p>"
    893 893   htmlString +="<h2>Authorization Matrix</h2>"
    894 894   htmlString +="<p>This part focuses on user session and URLs relationships to determine access violations. The tool will visit all URLs from pre-defined user sessions and fill the table with all Http responses. It is a kind of access matrix and helps to find out authentication/authorization issues. Afterwards we will see what user can access what page contents.</p><ul>"
    895  - htmlString +="<li><strong>User session name</strong>: You can right click on any request and send it from 'Extensions > Agartha > Agartha Panel' to define a user session.</li>"
     895 + htmlString +="<li><strong>User session name</strong>: You can right click on any request and send it from 'Extensions > Agartha > Authorization Matrix' to define a user session.</li>"
    896 896   htmlString +="<li><strong>URL Addresses</strong> user can visit: You can use Burp's spider feature or any sitemap generators. You may need to provide different URLs for different users.</li>"
    897 897   htmlString +="<li>After providing session name, Http header and allowed URLs you can use 'Add User' button to add it.</li></ul>"
    898 898   htmlString +="<p><img width=\"1000\" alt=\"Images from Github Repo - Authorization Matrix, sending http req\" src=\"https://user-images.githubusercontent.com/50321735/152217672-353b42a8-bb06-4e92-b9af-3f4e487ab1fd.png\" style=\"max-width: 100%;\"></p>"
    skipped 16 lines
    915 915   htmlString +="<li>Orange, because the response returns 'HTTP 200' but different content length, with authentication/authorization concerns</li>"
    916 916   htmlString +="<li>Red, because the response returns 'HTTP 200' and same content length, with authentication/authorization concerns</li></ul>"
    917 917   htmlString +="<p>You may also notice, it support only one Http request method and user session at the same time, because it processes bulk requests and it is not possible to provide different header options for each calls. But you may play with 'GET/POST' methods to see response differences.<br><br></p>"
    918  - htmlString +="<h2>Http Request to JavaScript Converter</h2>"
     918 + htmlString +="<h2>Copy as JavaScript</h2>"
    919 919   htmlString +="<p>The feature is for converting Http requests to JavaScript code. It can be useful to dig up further XSS issues and bypass header restrictions.</p>"
    920 920   htmlString +="<p>To access it, right click any Http Request and 'Extensions > Agartha > Copy as JavaScript'.</p>"
    921  - htmlString +="<p><img width=\"1000\" alt=\"Images from Github Repo - Http Request to JavaScript Converter\" src=\"https://user-images.githubusercontent.com/50321735/152224405-d10b78a2-9b18-44a9-a991-5b9c451c7253.png\" style=\"max-width: 100%;\"></a></p>"
     921 + htmlString +="<p><img width=\"1000\" alt=\"Images from Github Repo - Copy as JavaScript\" src=\"https://user-images.githubusercontent.com/50321735/152224405-d10b78a2-9b18-44a9-a991-5b9c451c7253.png\" style=\"max-width: 100%;\"></a></p>"
    922 922   htmlString +="<p>It will automatically save it to your clipboard</p></div>"
    923 923   htmlString +="<p>Please note that, the JavaScript code will be called over original user session and many header fields will be filled automatically by browsers. In some cases, the server may require some header field mandatory, and therefore you may need to modify the code for an adjustment.</p>"
    924 924   htmlString +="</article>"
    skipped 276 lines
Please wait...
Page is in error, reload to recover