How to find precise nonce values from a virtualhost directory?

I am unable to grep nonce values from various files in a directory, values are similar to nonce="736ee1470b", nonce="5a5cb02bc7" and nonce='268b7857a4ef3f4331efaad5ae975b6025c789b71c5c4e5bb001db7bbf9c4c07'.

When I use grep, the console gets filed up with long gibberish like this

response",what:"",alt:"alternate",altOffset:0,addColor:"#ffff33",delColor:"#faafaa",dimAddColor:"#ffff33",dimDelColor:"#ff3333",confirm:null,addBefore:null,addAfter:null,delBefore:null,delAfter:null,dimBefore:null,dimAfter:null},nonce:function(e,t){var n=wpAjax.unserialize(e.attr("href")),i=u("#"+t.element);return t.nonce||n._ajax_nonce||i.find('input[name="_ajax_nonce"]').val()||n._wpnonce||i.find('input[name="_wpnonce"]').val()||0},parseData:function(e,t){var n,i=[];try{(n=(n=u(e).data("wp-lists")||"").match(new RegExp(t+":[\\S]+")))&&(i=n[0].split(":"))}catch(e){}return i},pre:function(e,t,n){var i,o,s;return t=u.extend({},this.wpList.settings,{element:null,nonce:0,target:e.get(0)},t||{}),!(u.isFunction(t.confirm)&&(i=u("#"+t.element),"add"!==n&&(o=i.css("backgroundColor"),i.css("backgroundColor","#ff9966")),s=t.confirm.call(this,e,t,n,o),"add"!==n&&i.css("backgroundColor",o),!s))&&t},ajaxAdd:function(e,n){var t,i,o,s,a=this,l=u(e),r=p.parseData(l,"add");return n=n||{},(n=p.pre.call(a,l,n,"add")).element=r[2]||l.prop("id")||n.element||null,n.addColor=r[3]?"#"+r[3]:n.addColor,!!n&&(l.is('[id="'+n.element+'-submit"]')?!n.element||(n.action="add-"+n.what,n.nonce=p.nonce(l,n),!!wpAjax.validateForm("#"+n.element)&&(n.data=u.param(u.extend({_ajax_nonce:n.nonce,action:n.action},wpAjax.unserialize(r[4]||""))),t=u("#"+n.element+" :input").not('[name="_ajax_nonce"], [name="_wpnonce"], [name="action"]'),(i=u.isFunction(t.fieldSerialize)?t.fieldSerialize():t.serialize())&&(n.data+="&"+i),!(!u.isFunction(n.addBefore)||(n=n.addBefore(n)))||(!n.data.match(/_ajax_nonce=[a-f0-9]+/)||(n.success=function(e){return o=wpAjax.parseAjaxResponse(e,n.response,n.element),s=e,!(!o||o.errors)&&(!0===o||(u.each(o.responses,function(){p.add.call(a,this.data,u.extend({},n,{position:this.position||0,id:this.id||0,oldId:this.oldId||null}))}),a.wpList.recolor(),u(a).trigger("wpListAddEnd",[n,a.wpList]),void p.clear.call(a,"#"+n.element)))},n.complete=function(e,t){u.isFunction(n.addAfter)&&n.addAfter(s,u.extend({xml:e,status:t,parsed:o},n))},u.ajax(n),!1)))):!p.add.call(a,l,n))},ajaxDel:function(e,n){var i,o,s,t=this,a=u(e),l=p.parseData(a,"delete");return n=n||{},(n=p.pre.call(t,a,n,"delete")).element=l[2]||n.element||null,n.delColor=l[3]?"#"+l[3]:n.delColor,!(!n||

I am using

find . | xargs grep -sw 'nonce=' | grep [[:alnum:]]

Please let me know how to extract precise values.

Wouldn't some decent, representative input sample data be wonderful?
Try

grep -o "nonce=['\"][^'\"]*['\"]" file
2 Likes

Thank you. That printed all cached files from ./wp-content/cache/wpo-cache/5X.XX.XX.XX/index.html, I will try using them in CSP. I guess all nonces are there in cached content.

Even more precise is

grep -Eo "nonce=('[^']*'|\"[^\"]*\")" file

where a ' ' may contain a " and vice versa.