diff --git a/tapit-backend/global-settings.go b/tapit-backend/global-settings.go index b27fb0c..4a48f56 100644 --- a/tapit-backend/global-settings.go +++ b/tapit-backend/global-settings.go @@ -17,7 +17,7 @@ type GlobalSettings struct { MaxRequestRetries int WaitBeforeRetry int WebTemplatePrefix string - WebTemplateRoute string + WebFrontPlaceholder string } type GlobalSettingsJson struct { @@ -27,7 +27,7 @@ type GlobalSettingsJson struct { MaxRequestRetries int `json:"maxRequestRetries"` WaitBeforeRetry int `json:"waitBeforeRetry"` WebTemplatePrefix string `json:"webTemplatePrefix"` - WebTemplateRoute string `json:"webTemplateRoute"` + WebFrontPlaceholder string `json:"webFrontPlaceholder"` } @@ -60,14 +60,14 @@ func (tapit *Tapit) updateGlobalSettings(w http.ResponseWriter, r *http.Request) http.Error(w, "Bad request", 400) return } - if globalSettingsJson.SecretRegistrationCode != "" && globalSettingsJson.ThreadsPerCampaign != 0 && globalSettingsJson.BcryptCost != 0 && globalSettingsJson.WebTemplatePrefix != "" && globalSettingsJson.WebTemplateRoute != "" { + if globalSettingsJson.SecretRegistrationCode != "" && globalSettingsJson.ThreadsPerCampaign != 0 && globalSettingsJson.BcryptCost != 0 && globalSettingsJson.WebTemplatePrefix != "" { globalSettings.SecretRegistrationCode = globalSettingsJson.SecretRegistrationCode globalSettings.ThreadsPerCampaign = globalSettingsJson.ThreadsPerCampaign globalSettings.BcryptCost = globalSettingsJson.BcryptCost globalSettings.MaxRequestRetries = globalSettingsJson.MaxRequestRetries globalSettings.WaitBeforeRetry = globalSettingsJson.WaitBeforeRetry globalSettings.WebTemplatePrefix = globalSettingsJson.WebTemplatePrefix - globalSettings.WebTemplateRoute = globalSettingsJson.WebTemplateRoute + globalSettings.WebFrontPlaceholder = globalSettingsJson.WebFrontPlaceholder err = tapit.db.Save(&globalSettings).Error if err != nil { @@ -96,7 +96,7 @@ func (tapit *Tapit) getGlobalSettings(w http.ResponseWriter, r *http.Request) { globalSettingsJson.MaxRequestRetries = globalSettings.MaxRequestRetries globalSettingsJson.WaitBeforeRetry = globalSettings.WaitBeforeRetry globalSettingsJson.WebTemplatePrefix = globalSettings.WebTemplatePrefix - globalSettingsJson.WebTemplateRoute = globalSettings.WebTemplateRoute + globalSettingsJson.WebFrontPlaceholder = globalSettings.WebFrontPlaceholder jsonResults, err := json.Marshal(globalSettingsJson) if err != nil { diff --git a/tapit-backend/main.go b/tapit-backend/main.go index 783cada..3125151 100644 --- a/tapit-backend/main.go +++ b/tapit-backend/main.go @@ -88,7 +88,7 @@ func main() { globalSettings.MaxRequestRetries = 5 globalSettings.WaitBeforeRetry = 1000 globalSettings.WebTemplatePrefix = "https://www.attacker.com/" - globalSettings.WebTemplateRoute = "/" + globalSettings.WebFrontPlaceholder = "" tapit.db.NewRecord(&globalSettings) tapit.db.Create(&globalSettings) @@ -166,6 +166,7 @@ func main() { // Handle WebTemplate Routes webTemplateRouter := mux.NewRouter() + webTemplateRouter.HandleFunc("/", tapit.handleWebFront) webTemplateRouter.HandleFunc("/{route}", tapit.webTemplateRouteHandler) // Starting victim route web server diff --git a/tapit-backend/tapit-backend b/tapit-backend/tapit-backend index 7355a83..97ffe0a 100755 Binary files a/tapit-backend/tapit-backend and b/tapit-backend/tapit-backend differ diff --git a/tapit-backend/web-template.go b/tapit-backend/web-template.go index 392b6b5..8576880 100644 --- a/tapit-backend/web-template.go +++ b/tapit-backend/web-template.go @@ -438,6 +438,18 @@ func (tapit *Tapit) webTemplateRouteHandler(w http.ResponseWriter, r *http.Reque return } +func (tapit *Tapit) handleWebFront(w http.ResponseWriter, r *http.Request) { + var globalSettings GlobalSettings + err := tapit.db.Last(&globalSettings).Error + if err != nil { + w.Write([]byte("")) + return + } + + w.Write([]byte(globalSettings.WebFrontPlaceholder)) + return +} + func (tapit *Tapit) handleDownloadView(w http.ResponseWriter, r *http.Request) { if strings.ToUpper(r.Method) == "GET" { var csvBuffer bytes.Buffer diff --git a/tapit-build/static/main.js b/tapit-build/static/main.js index 252cd79..6af4919 100644 --- a/tapit-build/static/main.js +++ b/tapit-build/static/main.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{"+M5x":function(t,e){t.exports=".no-space-break {\n white-space:nowrap;\n }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGhvbmVib29rLW5ldy9waG9uZWJvb2stbmV3LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxrQkFBa0I7RUFDcEIiLCJmaWxlIjoic3JjL2FwcC9waG9uZWJvb2stbmV3L3Bob25lYm9vay1uZXcuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5uby1zcGFjZS1icmVhayB7XG4gICAgd2hpdGUtc3BhY2U6bm93cmFwO1xuICB9XG4iXX0= */"},"+nPA":function(t,e){t.exports="\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3JlZ2lzdGVyL3JlZ2lzdGVyLmNvbXBvbmVudC5jc3MifQ== */"},"/+rS":function(t,e){t.exports='#new-text-preview {\n font-family: "Courier New"\n}\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGV4dC10ZW1wbGF0ZS1uZXcvdGV4dC10ZW1wbGF0ZS1uZXcuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJO0FBQ0oiLCJmaWxlIjoic3JjL2FwcC90ZXh0LXRlbXBsYXRlLW5ldy90ZXh0LXRlbXBsYXRlLW5ldy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI25ldy10ZXh0LXByZXZpZXcge1xuICAgIGZvbnQtZmFtaWx5OiBcIkNvdXJpZXIgTmV3XCJcbn1cbiJdfQ== */'},"/ZKd":function(t,e){t.exports="\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3RleHQtdGVtcGxhdGUvdGV4dC10ZW1wbGF0ZS5jb21wb25lbnQuY3NzIn0= */"},0:function(t,e,n){t.exports=n("zUnb")},"0KVQ":function(t,e){t.exports='
\n
\n
\n
\n

Login

\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n'},"2eZ0":function(t,e){t.exports='
\n
\n \n \n \n
\n
\n\n\n
\n
\n
\n
\n Campaign Name\n
\n \n
\n
\n
\n Campaign Size\n
\n \n
\n
\n
\n Campaign Status\n
\n \n
\n
\n
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
FromToCurrrent StatusWeb StatusWeb Route URLTime Sent
{{ job.fromNum }}{{ job.toNum }}{{ job.currentStatus }}{{ job.webStatus }}{{ job.fullUrl }}{{ job.timeSent | date:\'dd-MMM-yyyy\'}}
\n
\n
\n\n\n\n'},"3Swe":function(t,e){t.exports='
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n\n \n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n

Press enter to insert additional record

\n \n \n
First NameLast NameAliasPhone Number
{{ phoneRecord.firstName }}{{ phoneRecord.lastName }}{{ phoneRecord.alias }}{{ phoneRecord.phoneNumber }}
\n
\n
\n
\n
\n \n \n
\n
\n
\n\n\n'},"6fdi":function(t,e){t.exports='
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \x3c!-- Add phonebook & template via list --\x3e \n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n \n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n'},"8glu":function(t,e){t.exports="\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NhbXBhaWduL2NhbXBhaWduLmNvbXBvbmVudC5jc3MifQ== */"},"8lfH":function(t,e){t.exports='
\n
\n \n
\n
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n

No web template created yet. Create templates by clicking here

\n \n
NameTypeCreate Date
{{ webTemplate.name }}{{ webTemplate.templateType }}{{ webTemplate.createDate | date:\'dd-MMM-yyyy\'}}
\n
\n
\n'},"99W7":function(t,e){t.exports="
\n{{ notification.text }}\n
\n"},A3xY:function(t,e){t.exports="\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuY3NzIn0= */"},Aqmg:function(t,e){t.exports="\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21haW4vbWFpbi5jb21wb25lbnQuY3NzIn0= */"},CpHs:function(t,e){t.exports='
\n
\n \n
\n
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n

No text template created yet. Create templates by clicking here

\n \n
NameCreate Date
{{ textTemplate.name }}{{ textTemplate.createDate | date:\'dd-MMM-yyyy\'}}
\n
\n
\n'},"GQ/r":function(t,e){t.exports="\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uY29tcG9uZW50LmNzcyJ9 */"},JtO7:function(t,e){t.exports='
\n
\n
\n
\n

Settings for {{ currUser.username }}

\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n
\n
\n
\n
\n'},LOYK:function(t,e){t.exports='
\n
\n \n
\n
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n

No phonebooks created yet. Create phonebooks by clicking here

\n \n
NamePhonebook SizeCreate Date
{{ phonebook.name }}{{ phonebook.size }}{{ phonebook.createDate | date:\'dd-MMM-yyyy\'}}
\n
\n
\n'},MjFU:function(t,e){t.exports="\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NhbXBhaWduLW5ldy9jYW1wYWlnbi1uZXcuY29tcG9uZW50LmNzcyJ9 */"},Onsm:function(t,e){t.exports="\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2dsb2JhbC1zZXR0aW5ncy9nbG9iYWwtc2V0dGluZ3MuY29tcG9uZW50LmNzcyJ9 */"},Q1uh:function(t,e){t.exports=".campaign-details:-moz-read-only {\n background-color: white;\n}\n\n.campaign-details:read-only {\n background-color: white;\n}\n\n.download-visits {\n color: #007bff;\n cursor: pointer;\n}\n\n.download-visits:hover {\n color: #007bff;\n cursor: pointer;\n text-decoration: underline;\n}\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2FtcGFpZ24tdmlldy9jYW1wYWlnbi12aWV3LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSx1QkFBdUI7QUFDM0I7O0FBRkE7SUFDSSx1QkFBdUI7QUFDM0I7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGNBQWM7SUFDZCxlQUFlO0lBQ2YsMEJBQTBCO0FBQzlCIiwiZmlsZSI6InNyYy9hcHAvY2FtcGFpZ24tdmlldy9jYW1wYWlnbi12aWV3LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY2FtcGFpZ24tZGV0YWlsczpyZWFkLW9ubHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuXG4uZG93bmxvYWQtdmlzaXRzIHtcbiAgICBjb2xvcjogIzAwN2JmZjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5kb3dubG9hZC12aXNpdHM6aG92ZXIge1xuICAgIGNvbG9yOiAjMDA3YmZmO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbiJdfQ== */"},RHam:function(t,e){t.exports="\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3dlYi10ZW1wbGF0ZS1uZXcvd2ViLXRlbXBsYXRlLW5ldy5jb21wb25lbnQuY3NzIn0= */"},X2v6:function(t,e){t.exports='
\n
\n
\n
\n

Global TapIt Settings

\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n
\n
\n
\n
\n'},XbfJ:function(t,e){t.exports='
\n
\n \n
\n
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n

No campaigns created yet. Create compaigns by clicking here

\n \n
NameStatusWeb StatusTarget SizeCreate Date
{{ campaign.name }}{{ campaign.currentStatus }}{{ campaign.webStatus }}{{ campaign.size }}{{ campaign.createDate | date:\'dd-MMM-yyyy\'}}
\n
\n
\n'},ZgUC:function(t,e){t.exports='
\n
\n
\n
\n Twilio Settings\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n'},ZlTE:function(t,e){t.exports='
\n
\n
\n
\n

Login

\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n
\n
\n
\n
\n'},crnd:function(t,e){function n(t){return Promise.resolve().then(function(){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e})}n.keys=function(){return[]},n.resolve=n,t.exports=n,n.id="crnd"},fMGI:function(t,e){t.exports="\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3Byb2ZpbGUvcHJvZmlsZS5jb21wb25lbnQuY3NzIn0= */"},"gO/L":function(t,e){t.exports="\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3Byb3ZpZGVyL3Byb3ZpZGVyLmNvbXBvbmVudC5jc3MifQ== */"},kmT1:function(t,e){t.exports="\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3dlYi10ZW1wbGF0ZS93ZWItdGVtcGxhdGUuY29tcG9uZW50LmNzcyJ9 */"},kt9D:function(t,e){t.exports='
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n \n
\n
    \n
  • {{ \'{\' }}firstName{{ \'}\' }}
  • \n
  • {{ \'{\' }}lastName{{ \'}\' }}
  • \n
  • {{ \'{\' }}alias{{ \'}\' }}
  • \n
  • {{ \'{\' }}phoneNumber{{ \'}\' }}
  • \n
  • {{ \'{\' }}url{{ \'}\' }}
  • \n
\n
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n\n\n'},lsP6:function(t,e){t.exports='
\n
\n

Welcome to TapIt: A Text Phishing Framework

\n

TapIt is a tool that allows users to manage large scale SMS phishing campaigns.

\n

The framework is equipped with in-built SMS and Web templating functionalities to generate customised messages for a large list of recipients

\n
\n
\n'},n2gn:function(t,e){t.exports='
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n\n \x3c!-- for redirect --\x3e\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n

Use only either \'Positive\' or \'Negative\' redirect. DO NOT USE BOTH.

\n
\n
\n
\n
\n \n \n
\n
\n
\n\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n\n
\n
\n

Note: Changing web template may affect your existing campaigns

\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n\n\n'},n7sk:function(t,e){t.exports="\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2xvZ2luL2xvZ2luLmNvbXBvbmVudC5jc3MifQ== */"},"nH/3":function(t,e){t.exports='\n\n
\n \n
\n\n\n
\n'},uZxZ:function(t,e){t.exports="\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3Bob25lYm9vay9waG9uZWJvb2suY29tcG9uZW50LmNzcyJ9 */"},zUnb:function(t,e,n){"use strict";n.r(e);var i=n("CcnG"),o=n("ToYH"),a=n("mrSG"),s=n("ZYjt"),r=n("t/Na"),l=n("gIcY"),c=n("ZYCi"),p=function(){function t(){}return t.prototype.ngOnInit=function(){},t=a.b([Object(i.n)({selector:"app-main",template:n("lsP6"),styles:[n("Aqmg")]}),a.d("design:paramtypes",[])],t)}(),d=function(){return function(){}}(),u=function(){function t(){this.notifications=[],this.currentCount=0}return t.prototype.addNotification=function(t,e){var n=this,i=new d;i.id=this.currentCount,this.currentCount++,i.resultType=t,i.text=e,this.notifications.push(i),setTimeout(function(){return n.closeNotification(i)},3e3)},t.prototype.closeNotification=function(t){for(var e=0;e\n
\n
\n
\n

Login

\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n'},"2eZ0":function(t,e){t.exports='
\n
\n \n \n \n
\n
\n\n\n
\n
\n
\n
\n Campaign Name\n
\n \n
\n
\n
\n Campaign Size\n
\n \n
\n
\n
\n Campaign Status\n
\n \n
\n
\n
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
FromToCurrrent StatusWeb StatusWeb Route URLTime Sent
{{ job.fromNum }}{{ job.toNum }}{{ job.currentStatus }}{{ job.webStatus }}{{ job.fullUrl }}{{ job.timeSent | date:\'dd-MMM-yyyy\'}}
\n
\n
\n\n\n\n'},"3Swe":function(t,e){t.exports='
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n\n \n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n

Press enter to insert additional record

\n \n \n
First NameLast NameAliasPhone Number
{{ phoneRecord.firstName }}{{ phoneRecord.lastName }}{{ phoneRecord.alias }}{{ phoneRecord.phoneNumber }}
\n
\n
\n
\n
\n \n \n
\n
\n
\n\n\n'},"6fdi":function(t,e){t.exports='
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \x3c!-- Add phonebook & template via list --\x3e \n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n \n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n'},"8glu":function(t,e){t.exports="\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NhbXBhaWduL2NhbXBhaWduLmNvbXBvbmVudC5jc3MifQ== */"},"8lfH":function(t,e){t.exports='
\n
\n \n
\n
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n

No web template created yet. Create templates by clicking here

\n \n
NameTypeCreate Date
{{ webTemplate.name }}{{ webTemplate.templateType }}{{ webTemplate.createDate | date:\'dd-MMM-yyyy\'}}
\n
\n
\n'},"99W7":function(t,e){t.exports="
\n{{ notification.text }}\n
\n"},A3xY:function(t,e){t.exports="\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuY3NzIn0= */"},Aqmg:function(t,e){t.exports="\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21haW4vbWFpbi5jb21wb25lbnQuY3NzIn0= */"},CpHs:function(t,e){t.exports='
\n
\n \n
\n
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n

No text template created yet. Create templates by clicking here

\n \n
NameCreate Date
{{ textTemplate.name }}{{ textTemplate.createDate | date:\'dd-MMM-yyyy\'}}
\n
\n
\n'},"GQ/r":function(t,e){t.exports="\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uY29tcG9uZW50LmNzcyJ9 */"},JtO7:function(t,e){t.exports='
\n
\n
\n
\n

Settings for {{ currUser.username }}

\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n
\n
\n
\n
\n'},LOYK:function(t,e){t.exports='
\n
\n \n
\n
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n

No phonebooks created yet. Create phonebooks by clicking here

\n \n
NamePhonebook SizeCreate Date
{{ phonebook.name }}{{ phonebook.size }}{{ phonebook.createDate | date:\'dd-MMM-yyyy\'}}
\n
\n
\n'},MjFU:function(t,e){t.exports="\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NhbXBhaWduLW5ldy9jYW1wYWlnbi1uZXcuY29tcG9uZW50LmNzcyJ9 */"},Onsm:function(t,e){t.exports="\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2dsb2JhbC1zZXR0aW5ncy9nbG9iYWwtc2V0dGluZ3MuY29tcG9uZW50LmNzcyJ9 */"},Q1uh:function(t,e){t.exports=".campaign-details:-moz-read-only {\n background-color: white;\n}\n\n.campaign-details:read-only {\n background-color: white;\n}\n\n.download-visits {\n color: #007bff;\n cursor: pointer;\n}\n\n.download-visits:hover {\n color: #007bff;\n cursor: pointer;\n text-decoration: underline;\n}\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2FtcGFpZ24tdmlldy9jYW1wYWlnbi12aWV3LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSx1QkFBdUI7QUFDM0I7O0FBRkE7SUFDSSx1QkFBdUI7QUFDM0I7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGNBQWM7SUFDZCxlQUFlO0lBQ2YsMEJBQTBCO0FBQzlCIiwiZmlsZSI6InNyYy9hcHAvY2FtcGFpZ24tdmlldy9jYW1wYWlnbi12aWV3LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY2FtcGFpZ24tZGV0YWlsczpyZWFkLW9ubHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuXG4uZG93bmxvYWQtdmlzaXRzIHtcbiAgICBjb2xvcjogIzAwN2JmZjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5kb3dubG9hZC12aXNpdHM6aG92ZXIge1xuICAgIGNvbG9yOiAjMDA3YmZmO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbiJdfQ== */"},RHam:function(t,e){t.exports="\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3dlYi10ZW1wbGF0ZS1uZXcvd2ViLXRlbXBsYXRlLW5ldy5jb21wb25lbnQuY3NzIn0= */"},X2v6:function(t,e){t.exports='
\n
\n
\n
\n

Global TapIt Settings

\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n
\n
\n
\n
\n'},XbfJ:function(t,e){t.exports='
\n
\n \n
\n
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n

No campaigns created yet. Create compaigns by clicking here

\n \n
NameStatusWeb StatusTarget SizeCreate Date
{{ campaign.name }}{{ campaign.currentStatus }}{{ campaign.webStatus }}{{ campaign.size }}{{ campaign.createDate | date:\'dd-MMM-yyyy\'}}
\n
\n
\n'},ZgUC:function(t,e){t.exports='
\n
\n
\n
\n Twilio Settings\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n'},ZlTE:function(t,e){t.exports='
\n
\n
\n
\n

Login

\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n
\n
\n
\n
\n'},crnd:function(t,e){function n(t){return Promise.resolve().then(function(){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e})}n.keys=function(){return[]},n.resolve=n,t.exports=n,n.id="crnd"},fMGI:function(t,e){t.exports="\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3Byb2ZpbGUvcHJvZmlsZS5jb21wb25lbnQuY3NzIn0= */"},"gO/L":function(t,e){t.exports="\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3Byb3ZpZGVyL3Byb3ZpZGVyLmNvbXBvbmVudC5jc3MifQ== */"},kmT1:function(t,e){t.exports="\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3dlYi10ZW1wbGF0ZS93ZWItdGVtcGxhdGUuY29tcG9uZW50LmNzcyJ9 */"},kt9D:function(t,e){t.exports='
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n \n
\n
    \n
  • {{ \'{\' }}firstName{{ \'}\' }}
  • \n
  • {{ \'{\' }}lastName{{ \'}\' }}
  • \n
  • {{ \'{\' }}alias{{ \'}\' }}
  • \n
  • {{ \'{\' }}phoneNumber{{ \'}\' }}
  • \n
  • {{ \'{\' }}url{{ \'}\' }}
  • \n
\n
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n\n\n'},lsP6:function(t,e){t.exports='
\n
\n

Welcome to TapIt: A Text Phishing Framework

\n

TapIt is a tool that allows users to manage large scale SMS phishing campaigns.

\n

The framework is equipped with in-built SMS and Web templating functionalities to generate customised messages for a large list of recipients

\n
\n
\n'},n2gn:function(t,e){t.exports='
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n\n \x3c!-- for redirect --\x3e\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n

Use only either \'Positive\' or \'Negative\' redirect. DO NOT USE BOTH.

\n
\n
\n
\n
\n \n \n
\n
\n
\n\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n\n
\n
\n

Note: Changing web template may affect your existing campaigns

\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n\n\n'},n7sk:function(t,e){t.exports="\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2xvZ2luL2xvZ2luLmNvbXBvbmVudC5jc3MifQ== */"},"nH/3":function(t,e){t.exports='\n\n
\n \n
\n\n\n
\n'},uZxZ:function(t,e){t.exports="\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3Bob25lYm9vay9waG9uZWJvb2suY29tcG9uZW50LmNzcyJ9 */"},zUnb:function(t,e,n){"use strict";n.r(e);var i=n("CcnG"),o=n("ToYH"),a=n("mrSG"),s=n("ZYjt"),r=n("t/Na"),l=n("gIcY"),c=n("ZYCi"),p=function(){function t(){}return t.prototype.ngOnInit=function(){},t=a.b([Object(i.n)({selector:"app-main",template:n("lsP6"),styles:[n("Aqmg")]}),a.d("design:paramtypes",[])],t)}(),d=function(){return function(){}}(),u=function(){function t(){this.notifications=[],this.currentCount=0}return t.prototype.addNotification=function(t,e){var n=this,i=new d;i.id=this.currentCount,this.currentCount++,i.resultType=t,i.text=e,this.notifications.push(i),setTimeout(function(){return n.closeNotification(i)},3e3)},t.prototype.closeNotification=function(t){for(var e=0;e
- - + +
diff --git a/tapit-frontend/src/app/global-settings/global-settings.component.ts b/tapit-frontend/src/app/global-settings/global-settings.component.ts index c57104c..d73dc72 100644 --- a/tapit-frontend/src/app/global-settings/global-settings.component.ts +++ b/tapit-frontend/src/app/global-settings/global-settings.component.ts @@ -14,7 +14,7 @@ export class GlobalSettingsComponent implements OnInit { updateGlobalSettings() { this.tempSettings.secretRegistrationCode = this.displaySettings.secretRegistrationCode; this.tempSettings.webTemplatePrefix = this.displaySettings.webTemplatePrefix; - this.tempSettings.webTemplateRoute = this.displaySettings.webTemplateRoute; + this.tempSettings.webFrontPlaceholder = this.displaySettings.webFrontPlaceholder; this.tempSettings.threadsPerCampaign = parseInt(this.displaySettings.threadsPerCampaign, 10) + 0; this.tempSettings.bcryptCost = parseInt(this.displaySettings.bcryptCost, 10); this.tempSettings.maxRequestRetries = parseInt(this.displaySettings.maxRequestRetries, 10);