SteemLiberator - XSS Test And Results - Aka .. Why You Should Sanitize All User Input by netuoso

View this thread on steempeak.com
· @netuoso · (edited)
$38.02
SteemLiberator - XSS Test And Results - Aka .. Why You Should Sanitize All User Input
# SteemLiberator - XSS Test And Results - Aka .. Why You Should Sanitize All User Input

![](https://steemitimages.com/DQmf9rEz1yvzuk6AhP9VifcqUQyZH8CzVPSH2uHFf9Yun8t/image.png)

---

### Preface
Some of you may be aware that my interests align heavily with that of security. My interest in security and hacking is ultimately what let me down the path of cryptocurrency in the first place. I participated in an ARG (Alternate Reality Game) online hosted by the infamous Cicada 3301 and actually got to the end. This challenge spurred inside of me an intense desire to learn more about the computers and networks that we rely so heavily upon in our society. Everything from your car to your television to your baby monitor can often be controlled by computers (and this means they can be hacked or made to do unexpected thing). This is the entire idea around security when it relates to information technology.

Hackers often find it easiest to circumvent the firewalls and blocking mechanisms you hear about through their use of innovative workarounds. One such workaround is known as [XSS or Cross Site Scripting](https://www.owasp.org/index.php/Cross-site_Scripting_(XSS)). XSS is an effective means of hacking websites that leave themselves vulnerable. Often times, the hacker is able to traverse beyond the hacked server and reach actual clients browsing the websites.

Today, I would like to present a simple example of how effective XSS can be, especially when it is paired with a shared database **(the blockchain)**.

### XSS Test And Results
There are many many ways to test XSS attacks. One of the most effective, and free, versions that people often utilize when performing basic security assessments is the open source [XSSHunter](https://github.com/mandatoryprogrammer/xsshunter). XSSHunter enables security researches to be able to quickly generate high quality, persistent XSS attacks that will take screenshots of the affected websites, return various other collected information, and help to generate a report. Since we are on Steem and not some corporate office, there would be little benefit of me generating a user based report and attempting to educate those users silently.

Instead, I would like to take the more effective route of making this disclosure completely public and providing my assistance (if asked) for removing the vulnerability discovered.

---

##### Autosteem Captured Data
![autosteem1.png](https://steemitimages.com/DQmXNHNDadLiwu5hU7cEKzsqq9SzkLjHyoKwPgWa3j37KP6/autosteem1.png)

##### Autosteem Captured Data
![autosteem2.png](https://steemitimages.com/DQmXNHNDadLiwu5hU7cEKzsqq9SzkLjHyoKwPgWa3j37KP6/autosteem2.png)

##### Autosteem Captured Data
![autosteem3.png](https://steemitimages.com/DQmVpe7v2sUVte9HNL3FKQn7HntcgWupTySYGy5mxL64fi3/autosteem3.png)

##### Autosteem Captured Data
![autosteem4.png](https://steemitimages.com/DQmbV1ZCR7HFbASjHVg4Z9oxV3xM7yu6KgQZAqHJ7PJXLLU/autosteem4.png)

##### Autosteem Captured Data
![autosteem5.png](https://steemitimages.com/DQmWuy1nx37Frt3GT9CXNhs4UJyLAqAj97c5xphrgEVZCgi/autosteem5.png)

---

### Results
As you can see, [Autosteem](https://autosteem.learnthis.ca/) by @unipsycho is currently affected by XSS levied through the tags field on posts. In theory, an experienced hacker can craft an XSS payload that would interact with the Autosteem website via the logged in user. Someone could then configure Autosteem to automatically vote on their posts for instance.

### Aka .. Why You Should Sanitize All User Input
This is a prime example of why you should be sure to never render user input data in an HTML-safe way. Assuming your users are not trying to hack your website or perform some other form of malicious attack is naive at best and possibly very detrimental to your entire user base.

# BEeF Could Make This Vulnerability Much More Deadly
![](https://steemitimages.com/DQmUqKrEdrgpjjVPxehvJXeoVos43TkU2sqg68REsaLevwf/image.png)

# Disclaimer:
- No sensitive information was collected in this test (aside from client IP addresses, which have not been revealed)
- I am offering my services to help the creator of Autosteem remove this particular XSS vulnerability
- If you wish to learn more about security please join me in [SteemDevs Discord Server](https://discord.gg/fsJjr3Q) and lets create a discussion
- All screenshots shown were captured by my XSS payload

# Edit 1:
After posting this, I tested a couple more input fields and was able to find https://steemd.com by @roadscape to be affected by XSS through the TITLE field.

![steemd1.png](https://steemitimages.com/DQmNQjUGwJuw2zZA3f5sD9qSW2q15smKrJf5HS49ogjSmVw/steemd1.png)
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and 9 others
properties (23)
post_id18,389,012
authornetuoso
permlinksteemliberator-xss-test-and-results-aka-why-you-should-sanitize-all-user-input
categorysteemdev
json_metadata"{"format": "markdown", "links": ["https://www.owasp.org/index.php/Cross-site_Scripting_(XSS)", "https://github.com/mandatoryprogrammer/xsshunter", "https://autosteem.learnthis.ca/", "https://discord.gg/fsJjr3Q", "https://steemd.com"], "app": "steemit/0.1", "tags": ["steemdev", "security", "xsshunter", "steemliberator", "steemit"], "users": ["unipsycho", "roadscape"], "image": ["https://steemitimages.com/DQmf9rEz1yvzuk6AhP9VifcqUQyZH8CzVPSH2uHFf9Yun8t/image.png"]}"
created2017-11-22 05:47:24
last_update2017-11-22 06:00:54
depth0
children9
net_rshares16,063,448,773,380
last_payout2017-11-29 05:47:24
cashout_time1969-12-31 23:59:59
total_payout_value29.817 SBD
curator_payout_value8.200 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length4,638
author_reputation118,092,474,323,969
root_title"SteemLiberator - XSS Test And Results - Aka .. Why You Should Sanitize All User Input"
beneficiaries
0.
accountsteemliberator
weight500
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars0
author_curate_reward""
vote details (73)
@inquiringtimes ·
$0.15
once again proving my witness vote was not misplaced
👍  
properties (23)
post_id18,389,439
authorinquiringtimes
permlinkre-netuoso-steemliberator-xss-test-and-results-aka-why-you-should-sanitize-all-user-input-20171122t055415978z
categorysteemdev
json_metadata"{"app": "steemit/0.1", "tags": ["steemdev"]}"
created2017-11-22 05:54:15
last_update2017-11-22 05:54:15
depth1
children5
net_rshares63,148,140,651
last_payout2017-11-29 05:54:15
cashout_time1969-12-31 23:59:59
total_payout_value0.126 SBD
curator_payout_value0.028 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length52
author_reputation22,502,057,091,140
root_title"SteemLiberator - XSS Test And Results - Aka .. Why You Should Sanitize All User Input"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)
@sircork ·
You can't misplace a witness vote. They are always right where you left them.
properties (22)
post_id18,389,728
authorsircork
permlinkre-inquiringtimes-re-netuoso-steemliberator-xss-test-and-results-aka-why-you-should-sanitize-all-user-input-20171122t055936272z
categorysteemdev
json_metadata"{"app": "steemit/0.1", "tags": ["steemdev"]}"
created2017-11-22 05:59:36
last_update2017-11-22 05:59:36
depth2
children4
net_rshares0
last_payout2017-11-29 05:59:36
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length77
author_reputation23,263,050,671,536
root_title"SteemLiberator - XSS Test And Results - Aka .. Why You Should Sanitize All User Input"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@inquiringtimes ·
well... I'm looking for a "place" to not miss voting for utopian witness.... obviously net is not on my "miss" list
properties (22)
post_id18,389,824
authorinquiringtimes
permlinkre-sircork-re-inquiringtimes-re-netuoso-steemliberator-xss-test-and-results-aka-why-you-should-sanitize-all-user-input-20171122t060109875z
categorysteemdev
json_metadata"{"app": "steemit/0.1", "tags": ["steemdev"]}"
created2017-11-22 06:01:09
last_update2017-11-22 06:01:09
depth3
children3
net_rshares0
last_payout2017-11-29 06:01:09
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length115
author_reputation22,502,057,091,140
root_title"SteemLiberator - XSS Test And Results - Aka .. Why You Should Sanitize All User Input"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@ilyasismail ·
Great post a steemdev. Thank you @netuoso
properties (22)
post_id18,389,642
authorilyasismail
permlinkre-netuoso-steemliberator-xss-test-and-results-aka-why-you-should-sanitize-all-user-input-20171122t055741276z
categorysteemdev
json_metadata"{"app": "steemit/0.1", "users": ["netuoso"], "tags": ["steemdev"]}"
created2017-11-22 05:57:42
last_update2017-11-22 05:57:42
depth1
children0
net_rshares0
last_payout2017-11-29 05:57:42
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length41
author_reputation12,589,254,117,941
root_title"SteemLiberator - XSS Test And Results - Aka .. Why You Should Sanitize All User Input"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@zeartul ·
Yo man its the same fellow you created @steemfollower don't know his name though.
👍  
👎  ,
properties (23)
post_id18,390,389
authorzeartul
permlinkre-netuoso-steemliberator-xss-test-and-results-aka-why-you-should-sanitize-all-user-input-20171122t061141822z
categorysteemdev
json_metadata"{"app": "steemit/0.1", "users": ["steemfollower"], "tags": ["steemdev"]}"
created2017-11-22 06:11:42
last_update2017-11-22 06:11:42
depth1
children0
net_rshares-42,775,116,167
last_payout2017-11-29 06:11:42
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length81
author_reputation85,769,589,859,089
root_title"SteemLiberator - XSS Test And Results - Aka .. Why You Should Sanitize All User Input"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (3)
@gtg ·
$0.57
"nice post" <sup>(TM)</sup> ;-)
Thank you for increasing global awareness.
👍  
properties (23)
post_id18,406,734
authorgtg
permlinkre-netuoso-steemliberator-xss-test-and-results-aka-why-you-should-sanitize-all-user-input-20171122t105529314z
categorysteemdev
json_metadata"{"app": "steemit/0.1", "tags": ["steemdev"]}"
created2017-11-22 10:55:30
last_update2017-11-22 10:55:30
depth1
children0
net_rshares230,454,890,750
last_payout2017-11-29 10:55:30
cashout_time1969-12-31 23:59:59
total_payout_value0.428 SBD
curator_payout_value0.142 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length74
author_reputation124,292,362,915,131
root_title"SteemLiberator - XSS Test And Results - Aka .. Why You Should Sanitize All User Input"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)