File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1111import re
1212import string
1313import sys
14+ import time
1415
1516from lib .core .enums import DBMS
1617from lib .core .enums import DBMS_DIRECTORY_NAME
1718from lib .core .enums import OS
1819from thirdparty .six import unichr as _unichr
1920
2021# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
21- VERSION = "1.5.4.8 "
22+ VERSION = "1.5.4.9 "
2223TYPE = "dev" if VERSION .count ('.' ) > 2 and VERSION .split ('.' )[- 1 ] != '0' else "stable"
2324TYPE_COLORS = {"dev" : 33 , "stable" : 90 , "pip" : 34 }
2425VERSION_STRING = "sqlmap/%s#%s" % ('.' .join (VERSION .split ('.' )[:- 1 ]) if VERSION .count ('.' ) > 2 and VERSION .split ('.' )[- 1 ] == '0' else VERSION , TYPE )
125126# Regular expression used for extracting results from Google search
126127GOOGLE_REGEX = r"webcache\.googleusercontent\.com/search\?q=cache:[^:]+:([^+]+)\+&cd=|url\?\w+=((?![^>]+webcache\.googleusercontent\.com)http[^>]+)&(sa=U|rct=j)"
127128
129+ # Google Search consent cookie
130+ GOOGLE_CONSENT_COOKIE = "CONSENT=YES+shp.gws-%s-0-RC1.%s+FX+740" % (time .strftime ("%Y%m%d" ), "" .join (random .sample (string .ascii_lowercase , 2 )))
131+
128132# Regular expression used for extracting results from DuckDuckGo search
129133DUCKDUCKGO_REGEX = r'<a class="result__url" href="(htt[^"]+)'
130134
Original file line number Diff line number Diff line change 2828from lib .core .settings import BING_REGEX
2929from lib .core .settings import DUCKDUCKGO_REGEX
3030from lib .core .settings import DUMMY_SEARCH_USER_AGENT
31+ from lib .core .settings import GOOGLE_CONSENT_COOKIE
3132from lib .core .settings import GOOGLE_REGEX
3233from lib .core .settings import HTTP_ACCEPT_ENCODING_HEADER_VALUE
3334from lib .core .settings import UNICODE_ENCODING
@@ -52,6 +53,7 @@ def _search(dork):
5253
5354 requestHeaders [HTTP_HEADER .USER_AGENT ] = dict (conf .httpHeaders ).get (HTTP_HEADER .USER_AGENT , DUMMY_SEARCH_USER_AGENT )
5455 requestHeaders [HTTP_HEADER .ACCEPT_ENCODING ] = HTTP_ACCEPT_ENCODING_HEADER_VALUE
56+ requestHeaders [HTTP_HEADER .COOKIE ] = GOOGLE_CONSENT_COOKIE
5557
5658 try :
5759 req = _urllib .request .Request ("https://www.google.com/ncr" , headers = requestHeaders )
@@ -63,7 +65,7 @@ def _search(dork):
6365 gpage = conf .googlePage if conf .googlePage > 1 else 1
6466 logger .info ("using search result page #%d" % gpage )
6567
66- url = "http ://www.google.com/search?" # NOTE: https version goes to the consent
68+ url = "https ://www.google.com/search?" # NOTE: if consent fails, try to use the "http://"
6769 url += "q=%s&" % urlencode (dork , convall = True )
6870 url += "num=100&hl=en&complete=0&safe=off&filter=0&btnG=Search"
6971 url += "&start=%d" % ((gpage - 1 ) * 100 )
You can’t perform that action at this time.
0 commit comments