generic_javascript_obfuscation in ss0.4sqi.net

On 2019-12-27T12:19:15.428709+00:00 we found pattern generic_javascript_obfuscation, type: Suspicious, (JavaScript obfuscation is frequently used to hide malicious code (or with hope to protect intellectual property)) in the page https://ss0.4sqi.net/scripts/build/en/f… referenced from https://foursquare.com/v/permis-%C3%A0-… .

Code sample:

b'var c=[],d=0,e=!1,f=!1,g=0,h=0,l=0,n=a.length;l<n;++l){var q=a.charCodeAt(l);g>=b&&32!=q&&(c[d++]=a.substring(h,l),h=l,c[d++]=goog.format.WORD_BREAK,g=0);if(e)62==q&&(e=!1);else if(f)switch(q){case 59:f=!1;++g;break;case 60:f=!1;e=!0;break;case 32:f=!1,g=0}else switch(q){case 60:e=!0;break;case 38:f=!0;break;case 32:g=0;break;default:++g}}c[d++]=a.substring(h);return c.join("")},WORD_BREAK:goog.userAgent.WEBKIT?"\\x3c' … b'var b=[],c=0,d=a.length;c<d;++c){var e=a[c];if("/"===e.charAt(1)){for(var f=b.length-1;0<=f&&b[f]!=e;)f--;0>f?a[c]="":(a[c]=b.slice(f).reverse().join(""),b.length=f)}else soy.$$HTML5_VOID_ELEMENTS_.test(e)||b.push("\\x3c' … b'var b=[],c;for(c in a.params)a.params.hasOwnProperty(c)&&b.push(c+"\\x3d"+encodeURIComponent(a.params[c]));return"id\\x3d"+a.venueId+"\\x26"+b.join("\\x26' … b'var b=[],c=~\xe9\xdc\xb6*\'(a,b){return{label:templates.fourSq.j\xebhr\x89\xa9\x95\xeb^.chiclet.chicletCompleterItem({q\xab^\x82\x8a\xf2:b}),item:{url:"\xfd\xeci\x96\x8a\xde?mode\\x3d"+fourSq.explore.shared.BaseQueryData.Mode.CHICLET+"\\x26' … b'var a=[],b=0;b<Math.min(c.length,6);b++){var l=c[b],n=templates.fourSq.j\xebhr\x89\xa9\x95\xeb^.queryCompletion({query:l.query,icon:l.icon});a.push({label:n,item:{url:"\xfd\xeci\x96\x8a\xde?mode\\x3d"+fourSq.explore.shared.BaseQueryData.Mode.AUTOCOMPLETE_QUERY+"\\x26q\\x3d"+encodeURIComponent(l.query.text)+"\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x00' … b'\\x26' … b'\\x26' … b'\\x00' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x0B' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x00' … b'\\x00' … b'\\x08' … b'\\x0B' … b'\\x0b' … b'\\x22' … b'\\x26' … b'\\x26' … b'\\x27' … b'\\x85' … b'\\x24' … b'\\x28' … b'\\x29' … b'\\x2a' … b'\\x2b' … b'\\x2e' … b'\\x5b' … b'\\x5e' … b'\\x7b' … b'\\x00' … b'\\x0B' … b'\\x26' … b'\\x00' … b'\\x0B' … b'\\x00' … b'\\x22' … b'\\x26' … b'\\x27' … b'\\x00' … b'\\x22' … b'\\x27' … b'\\x00' … b'\\x09' … b'\\x22' … b'\\x26' … b'\\x27' … b'\\x85' … b'\\xa0' … b'\\x00' … b'\\x09' … b'\\x22' … b'\\x27' … b'\\x85' … b'\\xa0' … b'\\x00' … b'\\x08' … b'\\x22' … b'\\x26' … b'\\x27' … b'\\x85' … b'\\x00' … b'\\x08' … b'\\x22' … b'\\x24' … b'\\x26' … b'\\x5b' … b'\\x5e' … b'\\x7b' … b'\\x85' … b'\\x00' … b'\\x08' … b'\\x22' … b'\\x26' … b'\\x2a' … b'\\x7b' … b'\\x85' … b'\\xa0' … b'\\x00' … b'\\x22' … b'\\x27' … b'\\x29' … b'\\x7b' … b'\\x7f' … b'\\x85' … b'\\xa0' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'\\x26' … b'"venueDetailNextVenues"' … b'"SUSPICIOUSVALUESWARNING"' … b'"v2/eventparticipants/search"' … b'"v2/eventparticipants/"' … b'"v2/eventparticipants/"' … b'"v2/events/adminexplore"' … b'"v2/private/countrycodes"' … b'"v2/demo/collectionGame/nearby"' … b'"v2/demo/userCardGame/cards"' … b'"v2/demo/userCardGame/venueInfo"' … b'"v2/demo/userCardGame/buyVenue"' … b'"/geofences/visualizer"' … b'"v2/private/logactions"' … b'"v2/private/ignorefriendsuggestion"' … b'"v2/private/googlecontacts"' … b'"v2/private/photoranker/rank"' … b'"v2/private/photoranker/markskip"' … b'"v2/private/photoranker/nextvenues"' … b'"v2/private/sharemessage"' … b'"v2/private/photo/togglevisibility"' … b'"v2/private/twitteruser"' … b'"v2/private/createvenuegroupfromtsv"' … b'"v2/private/uploadtos3"' … b'"v2/private/portability/initiaterequest"' … b'"v2/private/permissionslogging"' … b'"v2/privateweb/transactions"' … b'"v2/privateweb/setlocale"' … b'"v2/privateweb/connectvenues"' … b'"v2/privateweb/emailunsubscribe"' … b'"v2/privateweb/shortlink"' … b'"v2/privateweb/appealbannedphoto"' … b'"v2/privateweb/intent/saveto/venue"' … b'"v2/privateweb/intent/saveto/payload"' … b'"v2/promotioncampaigns/"' … b'"v2/promotioncampaigns/"' … b'"v2/promotioncampaigns/"' … b'"v2/promotioncampaigns/"' … b'"v2/promotioncampaigns/"' … b'"v2/search/recommendations"' … b'"v2/activities/updates"' … b'"v2/tastes/suggestions"' … b'"v2/travel/createanonymous"' … b'"v2/travel/venuesearch"' … b'"v2/users/annotatestop"' … b'"v2/users/createfollows"' … b'"v2/users/upgradeapply"' … b'"v2/users/cansuendorse"' … b'"v2/venues/suggestcompletion"' … b'"v2/venues/personalinfo"' … b'"showSignupPromptModal"' … b'"showSignupPromptModal"' … b'"showSignupPromptModal"' … b'"showSignupPromptModal"' … b'"fromFacebookAppCenter"' … b'"linkedAndFrictionlessOn"' … b'"linkedAndFrictionlessOn"' … b'"dialogButtonContainer"' … b'"photoAttachmentPreview"' … b'"/developers/subscribe"' … b'"fullActivityIndicator\'' … b'"timeframeSeasonalRange"' … b'"actualPanelWithPopular"' … b'"popularPanelWithActual"' … b'"photoAttachmentPreview"' … b'"EditListItemContainer"' … b'"comboRatingButtonLike"' … b'"modalLoadingContainer"' … b'"tipAuthorJustification"' … b'"photoAttachmentPreview"' … b'"tipUpvoteDownvoteButton"' … b'"googlePlusSignupButton"' … b'"inlineTastesRichModal"' … b'"signupForSwarmRichModal"' … b'"signupForSwarmRichModal"' … b'"googlePlusSignupButton"' … b'"notifierNoticeWrapper"' … b'"fromFacebookAppCenter"' … b'"fromFacebookAppCenter"' … b'"venuePickerSearchControls"' … b'"toggleStructuredEditor"' … b'"compactEditVenueHours"' … b'"toggleStructuredEditor"' … b'"seasonalHoursEditorList"' … b'"timeframeEditorSummary"' … b'"timeframeEditorStatus"' … b'"timeframeEditorSummary"' … b'"timeframeEditorStatus"' … b'%00' … b'%01' … b'%02' … b'%03' … b'%04' … b'%05' … b'%06' … b'%07' … b'%08' … b'%09' … b'%0A' … b'%0B' … b'%0C' … b'%0D' … b'%0E' … b'%0F' … b'%10' … b'%11' … b'%12' … b'%13' … b'%14' … b'%15' … b'%16' … b'%17' … b'%18' … b'%19' … b'%1A' … b'%1B' … b'%1C' … b'%1D' … b'%1E' … b'%1F' … b'%20' … b'%22' … b'%27' … b'%28' … b'%29' … b'%3C' … b'%3E' … b'%5C' … b'%7B' … b'%7D' … b'%7F' … b'%C2' … b'%85' … b'%C2' … b'%A0' … b'%E2' … b'%80' … b'%A8' … b'%E2' … b'%80' … b'%A9' … b'%EF' … b'%BC' … b'%81' … b'%EF' … b'%BC' … b'%83' … b'%EF' … b'%BC' … b'%84' … b'%EF' … b'%BC' … b'%86' … b'%EF' … b'%BC' … b'%87' … b'%EF' … b'%BC' … b'%88' … b'%EF' … b'%BC' … b'%89' … b'%EF' … b'%BC' … b'%8A' … b'%EF' … b'%BC' … b'%8B' … b'%EF' … b'%BC' … b'%8C' … b'%EF' … b'%BC' … b'%8F' … b'%EF' … b'%BC' … b'%9A' … b'%EF' … b'%BC' … b'%9B' … b'%EF' … b'%BC' … b'%9D' … b'%EF' … b'%BC' … b'%9F' … b'%EF' … b'%BC' … b'%A0' … b'%EF' … b'%BC' … b'%BB' … b'%EF' … b'%BC' … b'%BD' … b'%20' … b'%24' … b'%24' … b'%10' … b'%10' … b'%cF'

This feature is experimental so please feel free to contact us if you feel any of the reported issues is a false positive or you want to suggest a pattern that should be detected (we are using Yara standard).