init
						commit
						19ad5406e1
					
				|  | @ -0,0 +1,22 @@ | |||
| # Auto detect text files and perform LF normalization | ||||
| * text=auto | ||||
| 
 | ||||
| # Custom for Visual Studio | ||||
| *.cs     diff=csharp | ||||
| *.sln    merge=union | ||||
| *.csproj merge=union | ||||
| *.vbproj merge=union | ||||
| *.fsproj merge=union | ||||
| *.dbproj merge=union | ||||
| 
 | ||||
| # Standard to msysgit | ||||
| *.doc	 diff=astextplain | ||||
| *.DOC	 diff=astextplain | ||||
| *.docx diff=astextplain | ||||
| *.DOCX diff=astextplain | ||||
| *.dot  diff=astextplain | ||||
| *.DOT  diff=astextplain | ||||
| *.pdf  diff=astextplain | ||||
| *.PDF	 diff=astextplain | ||||
| *.rtf	 diff=astextplain | ||||
| *.RTF	 diff=astextplain | ||||
|  | @ -0,0 +1,163 @@ | |||
| ################# | ||||
| ## Eclipse | ||||
| ################# | ||||
| 
 | ||||
| *.pydevproject | ||||
| .project | ||||
| .metadata | ||||
| bin/ | ||||
| tmp/ | ||||
| *.tmp | ||||
| *.bak | ||||
| *.swp | ||||
| *~.nib | ||||
| local.properties | ||||
| .classpath | ||||
| .settings/ | ||||
| .loadpath | ||||
| 
 | ||||
| # External tool builders | ||||
| .externalToolBuilders/ | ||||
| 
 | ||||
| # Locally stored "Eclipse launch configurations" | ||||
| *.launch | ||||
| 
 | ||||
| # CDT-specific | ||||
| .cproject | ||||
| 
 | ||||
| # PDT-specific | ||||
| .buildpath | ||||
| 
 | ||||
| 
 | ||||
| ################# | ||||
| ## Visual Studio | ||||
| ################# | ||||
| 
 | ||||
| ## Ignore Visual Studio temporary files, build results, and | ||||
| ## files generated by popular Visual Studio add-ons. | ||||
| 
 | ||||
| # User-specific files | ||||
| *.suo | ||||
| *.user | ||||
| *.sln.docstates | ||||
| 
 | ||||
| # Build results | ||||
| [Dd]ebug/ | ||||
| [Rr]elease/ | ||||
| *_i.c | ||||
| *_p.c | ||||
| *.ilk | ||||
| *.meta | ||||
| *.obj | ||||
| *.pch | ||||
| *.pdb | ||||
| *.pgc | ||||
| *.pgd | ||||
| *.rsp | ||||
| *.sbr | ||||
| *.tlb | ||||
| *.tli | ||||
| *.tlh | ||||
| *.tmp | ||||
| *.vspscc | ||||
| .builds | ||||
| *.dotCover | ||||
| 
 | ||||
| ## TODO: If you have NuGet Package Restore enabled, uncomment this | ||||
| #packages/ | ||||
| 
 | ||||
| # Visual C++ cache files | ||||
| ipch/ | ||||
| *.aps | ||||
| *.ncb | ||||
| *.opensdf | ||||
| *.sdf | ||||
| 
 | ||||
| # Visual Studio profiler | ||||
| *.psess | ||||
| *.vsp | ||||
| 
 | ||||
| # ReSharper is a .NET coding add-in | ||||
| _ReSharper* | ||||
| 
 | ||||
| # Installshield output folder | ||||
| [Ee]xpress | ||||
| 
 | ||||
| # DocProject is a documentation generator add-in | ||||
| DocProject/buildhelp/ | ||||
| DocProject/Help/*.HxT | ||||
| DocProject/Help/*.HxC | ||||
| DocProject/Help/*.hhc | ||||
| DocProject/Help/*.hhk | ||||
| DocProject/Help/*.hhp | ||||
| DocProject/Help/Html2 | ||||
| DocProject/Help/html | ||||
| 
 | ||||
| # Click-Once directory | ||||
| publish | ||||
| 
 | ||||
| # Others | ||||
| [Bb]in | ||||
| [Oo]bj | ||||
| sql | ||||
| TestResults | ||||
| *.Cache | ||||
| ClientBin | ||||
| stylecop.* | ||||
| ~$* | ||||
| *.dbmdl | ||||
| Generated_Code #added for RIA/Silverlight projects | ||||
| 
 | ||||
| # Backup & report files from converting an old project file to a newer | ||||
| # Visual Studio version. Backup files are not needed, because we have git ;-) | ||||
| _UpgradeReport_Files/ | ||||
| Backup*/ | ||||
| UpgradeLog*.XML | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ############ | ||||
| ## Windows | ||||
| ############ | ||||
| 
 | ||||
| # Windows image file caches | ||||
| Thumbs.db | ||||
| 
 | ||||
| # Folder config file | ||||
| Desktop.ini | ||||
| 
 | ||||
| 
 | ||||
| ############# | ||||
| ## Python | ||||
| ############# | ||||
| 
 | ||||
| *.py[co] | ||||
| 
 | ||||
| # Packages | ||||
| *.egg | ||||
| *.egg-info | ||||
| dist | ||||
| build | ||||
| eggs | ||||
| parts | ||||
| bin | ||||
| var | ||||
| sdist | ||||
| develop-eggs | ||||
| .installed.cfg | ||||
| 
 | ||||
| # Installer logs | ||||
| pip-log.txt | ||||
| 
 | ||||
| # Unit test / coverage reports | ||||
| .coverage | ||||
| .tox | ||||
| 
 | ||||
| #Translations | ||||
| *.mo | ||||
| 
 | ||||
| #Mr Developer | ||||
| .mr.developer.cfg | ||||
| 
 | ||||
| # Mac crap | ||||
| .DS_Store | ||||
|  | @ -0,0 +1,58 @@ | |||
| function log(method,url,data) | ||||
| file=assert(io.open("/data/logs/hack/"..ngx.var.server_name.."_sec.log","a")) | ||||
|     if data then | ||||
|       if ngx.var.http_user_agent  then | ||||
|             file:write(ngx.var.remote_addr.." ".." ["..ngx.localtime().."] \""..method.." "..url.."\" \""..data.."\" \""..ngx.status.."\" \""..ngx.var.http_user_agent.."\"\n") | ||||
|       else | ||||
|             file:write(ngx.var.remote_addr.." ".." ["..ngx.localtime().."] \""..method.." "..url.."\" \""..data.."\" \"-\"\n") | ||||
|       end | ||||
|     else | ||||
|         if ngx.var.http_user_agent  then | ||||
|             file:write(ngx.var.remote_addr.." ".." ["..ngx.localtime().."] \""..method.." "..url.."\" \"-\" \""..ngx.var.http_user_agent.."\"\n") | ||||
|         else | ||||
|             file:write(ngx.var.remote_addr.." ".." ["..ngx.localtime().."] \""..method.." "..url.."\" \"-\" \"".."-\"\n") | ||||
|         end | ||||
|     end | ||||
| file:close() | ||||
| end | ||||
| function check() | ||||
|     ngx.header.content_type = "text/html" | ||||
|     ngx.print("just a joke hehe~ !!") | ||||
|     ngx.exit(200) | ||||
| end | ||||
| function read_rule(var) | ||||
|     file = io.open("/usr/local/nginx/conf/wafconf/"..var,"r") | ||||
|     t = {} | ||||
|     for line in file:lines() do | ||||
|         table.insert(t,line) | ||||
|     end | ||||
|     return(table.concat(t,"|")) | ||||
| end | ||||
| regex=read_rule('phpids') | ||||
| get=read_rule('get') | ||||
| post=read_rule('post') | ||||
| agent=read_rule('user-agent') | ||||
| whitelist=read_rule('whitelist') | ||||
| if  ngx.re.match(ngx.var.request_uri,whitelist,"i") then | ||||
|     return | ||||
| elseif ngx.req.get_body_data() and ngx.re.match(ngx.req.get_body_data(),[[^(?!Content-Disposition: form-data;(.*)filename="(.*).(php|jsp|phtml)").*$]],"i") then | ||||
|     return | ||||
| else | ||||
|     if ngx.re.match(ngx.unescape_uri(ngx.var.request_uri),regex.."|"..get,"isjo") then | ||||
|         log('GET',ngx.unescape_uri(ngx.var.request_uri)) | ||||
|         check() | ||||
|     elseif ngx.req.get_body_data() and ngx.re.match(ngx.unescape_uri(ngx.req.get_body_data()),regex,"isjo")then | ||||
|         log('POST',ngx.unescape_uri(ngx.var.request_uri),ngx.unescape_uri(ngx.req.get_body_data())) | ||||
|         check() | ||||
| --    elseif ngx.req.get_headers()["Cookie"] and ngx.re.match(ngx.unescape_uri(ngx.req.get_headers()["Cookie"]),regex,"isjo")then | ||||
| --        log('COOKIE',ngx.unescape_uri(ngx.var.request_uri),ngx.unescape_uri(ngx.req.get_headers()["Cookie"])) | ||||
| --        check() | ||||
|     elseif ngx.var.http_user_agent and ngx.re.match(ngx.var.http_user_agent,regex.."|"..agent,"isjo")  then | ||||
|         log('USER-AGENT',ngx.unescape_uri(ngx.var.request_uri)) | ||||
|         check() | ||||
|     elseif ngx.req.get_headers()['Acunetix-Aspect']  then | ||||
|         ngx.exit(400) | ||||
|     else | ||||
|         return | ||||
|     end | ||||
| end | ||||
|  | @ -0,0 +1,29 @@ | |||
| injected_by_wvs | ||||
| \.(bak|inc|old|mdb|sql|backup|java|class)$ | ||||
| some-inexistent-website | ||||
| boot\.ini | ||||
| never_could_exist_file_nosec | ||||
| SomeCustomInjectedHeader | ||||
| ((.*)/(attachments|js|upimg|images|css|uploadfiles|html|uploads|templets|static|template|data|inc|forumdata|upload|includes|cache|avatar)/(\\w+).(php|jsp)) | ||||
| \/proc\/(\d+|self)\/environ | ||||
| .htaccess | ||||
| \<(iframe|script|body|img) | ||||
| javascript\: | ||||
| onmouseover\= | ||||
| \.svn | ||||
| ewebeditor | ||||
| \.nsf | ||||
| \.mdb | ||||
| jmx-console | ||||
| javascript\: | ||||
| nosec\.txt | ||||
| thisdoesnotexist | ||||
| phpmyadmin | ||||
| jsky_test\.txt | ||||
| \$\{ | ||||
| lang\.Runtime | ||||
| getInputStream | ||||
| getRuntime | ||||
| \)\.exec\( | ||||
| \(\' | ||||
| \"\= | ||||
|  | @ -0,0 +1,37 @@ | |||
| order(.*)by(.*)\d | ||||
| (?:alter\s*\w+.*character\s+set\s+\w+)|(";\s*waitfor\s+time\s+") | ||||
| (?:%c0%ae\/) | ||||
| \<\!ENTITY(.*)SYSTEM(.*)\> | ||||
| (?:\Wselect.+\W*from)|((?:select|create|rename|truncate|alter|delete|update|insert|desc)\s*\(\s*space\s*\() | ||||
| (?:(?:select|create|rename|truncate|alter|delete|update|insert|desc)\s+(?:(?:group_)concat|char|load_file)\s?\(?)|(?:end\s*\);)|("\s+regexp\W)|(?:[\s(]load_file\s*\() | ||||
| (?i:(\%SYSTEMROOT\%)) | ||||
| (?:merge.*using\s*\()|(execute\s*immediate\s*")|(?:\W+\d*\s*having\s*[^\s\-])|(?:match\s*[\w(),+-]+\s*against\s*\() | ||||
| (?:\<!-|-->)|(?:<!\[\W)|(?:\]!>) | ||||
| (?:procedure\s+analyse\s*\()|(?:create\s+(procedure|function)\s*\w+\s*\(\s*\)\s*-)|(?:declare[^\w]+[@#]\s*\w+)|(exec\s*\(\s*@) | ||||
| (?:[\s()]case\s*\()|(?:\)\s*like\s*\()|(?:having\s*[^\s]+\s*[^\w\s])|(?:if\s?\([\d\w]\s*[=<>~]) | ||||
| (?:(select|;)\s+(?:benchmark|if|sleep)\s*?\(\s*\(?\s*\w+) | ||||
| (?:select\s*pg_sleep)|(?:waitfor\s*delay\s?"+\s?\d)|(?:;\s*shutdown\s*(?:;|--|#|\/\*|{)) | ||||
| (?:\sexec\s+xp_cmdshell)|(?:from\W+information_schema\W)|(?:(?:(?:current_)?user|database|schema|connection_id)\s*\([^\)]*)|(?:exec\s+master\.)|(?:union select @)|(?:union[\w(\s]*select)|(?:select.*\w?user\()|(?:into[\s+]+(?:dump|out)file\s*") | ||||
| (?:(sleep\((\s*)(\d*)(\s*)\)|benchmark\((.*)\,(.*)\))) | ||||
| (?:@.+=\s*\(\s*select)|(?:\d\s+group\s+by.+\()|(?:(?:;|#|--)\s*(?:drop|alter))|(?:(?:;|#|--)\s*(?:update|insert)\s*\w{2,}) | ||||
| (?:\\u00[a-f0-9]{2})|(?:\\x0*[a-f0-9]{2})|(?:\\\d{2,3}) | ||||
| (?:\w\.exe\??\s)|(?:\d\.\dx\|)|(?:%(?:c0\.|af\.|5c\.))|(?:\/(?:%2e){2}) | ||||
| (?:%u(?:ff|00|e\d)\w\w) | ||||
| (?:(union(.*)select(.*))) | ||||
| (?:\wscript:|@import[^\w]|;base64|base64,)|(?:\w\s*\([\w\s]+,[\w\s]+,[\w\s]+,[\w\s]+,[\w\s]+,[\w\s]+\)) | ||||
| \.\.\/ | ||||
| substr\( | ||||
| [\s\"'`;\/0-9\=]+on\w+\s*= | ||||
| background\b\W*?:\W*?url|background-image\b\W*?:|behavior\b\W*?:\W*?url|-moz-binding\b|@import\b|expression\b\W*?\( | ||||
| (fromcharcode|alert|eval)\s*\( | ||||
| ((?:=|U\s*R\s*L\s*\()\s*[^>]*\s*S\s*C\s*R\s*I\s*P\s*T\s*:|:|[\s\S]allowscriptaccess[\s\S]|[\s\S]data:text\/html[\s\S]|[\s\S]xlink:href[\s\S]|<style[^>]*>[\s\S]*?|[\s\S]@import[\s\S]|<applet[^>]*>[\s\S]*?|<meta[^>]*>[\s\S]*?|<object[^>]*>[\s\S]*?) | ||||
| \<(iframe|script|body|img|layer) | ||||
| (?i:(?:\A|[^\d])0x[a-f\d]{3,}[a-f\d]*)+ | ||||
| (?i:(\!\=|\&\&|\|\||>>|<<|>=|<=|<>|<=>|xor|rlike|regexp|isnull)|(?:not\s+between\s+0\s+and)|(?:is\s+null)|(like\s+null)|(?:(?:^|\W)in[+\s]*\([\s\d\"]+[^()]*\))|(?:xor|<>|rlike(?:\s+binary)?)|(?:regexp\s+binary)) | ||||
| (?i:(?:m(?:s(?:ysaccessobjects|ysaces|ysobjects|ysqueries|ysrelationships|ysaccessstorage|ysaccessxml|ysmodules|ysmodules2|db)|aster\.\.sysdatabases|ysql\.db)|s(?:ys(?:\.database_name|aux)|chema(?:\W*\(|_name)|qlite(_temp)?_master)|d(?:atabas|b_nam)e\W*\(|information_schema|pg_(catalog|toast)|northwind|tempdb)) | ||||
| (%0d|%0a) | ||||
| phpinfo\( | ||||
| (?:\((?:\W*?(?:objectc(?:ategory|lass)|homedirectory|[gu]idnumber|cn)\b\W*?=|[^\w\x80-\xFF]*?[\!\&\|][^\w\x80-\xFF]*?\()|\)[^\w\x80-\xFF]*?\([^\w\x80-\xFF]*?[\!\&\|]) | ||||
| \<\!\-\-\W*?#\W*?(?:e(?:cho|xec)|printenv|include|cmd) | ||||
| (?i:(\binclude\s*\([^)]*|mosConfig_absolute_path|_CONF\[path\]|_SERVER\[DOCUMENT_ROOT\]|GALLERY_BASEDIR|path\[docroot\]|appserv_root|config\[root_dir\])=(ht|f)tps?:\/\/) | ||||
| (?:\b(?:\.(?:ht(?:access|passwd|group)|www_?acl)|global\.asa|httpd\.conf|boot\.ini)\b|\/etc\/) | ||||
|  | @ -0,0 +1 @@ | |||
| \)\.exec\( | ||||
|  | @ -0,0 +1 @@ | |||
| .*(LWP::Simple|winhttp|clshttp|HTTrack|harvest|nsauditor|dirbuster|pangolin|nmap|sqlninja|grendel-scan|hydra|perl|HTMLParser|libwww|BBBike|sqlmap|w3af|owasp|Nikto|fimap|havij|PycURL|sae|zmeu|BabyKrokodil|python|netsparker).* | ||||
|  | @ -0,0 +1 @@ | |||
| (^/app/MainServlet.jsp|^/app/Framework/Controls/DataGridToExcel.jsp|^/zcms/MainServlet.jsp|^/app/Application/VolRegister.zaction|^/app/Vol/VolCertificateDialog.jsp) | ||||
		Loading…
	
		Reference in New Issue
	
	 kindle
						kindle