Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

antiSamy.scan(input, policy) giving the following as not a valid html. #416

Closed
mahi277149 opened this issue Jan 11, 2024 · 8 comments
Closed

Comments

@mahi277149
Copy link

input = Awning

then getting following error.
The a tag contained an attribute that we could not process. The href attribute had a value of "Lx.ui.launchBidAlternateValues(2942);". This value could not be accepted for security reasons. We have chosen to remove this attribute from the tag and leave everything else in place so that we could process the input.

Please let me know, how to resolve this issue.

@mahi277149 mahi277149 changed the title antiSamy.scan(input, policy) givig the following as not a valid html. antiSamy.scan(input, policy) giving the following as not a valid html. Jan 11, 2024
@mahi277149
Copy link
Author

mahi277149 commented Jan 11, 2024

these are my onsiteURL and offsiteURL.

@davewichers
Copy link
Collaborator

@spassarop - Can you research and respond?

@mahi277149
Copy link
Author

mahi277149 commented Jan 11, 2024

name="onsiteURL"
value="^(?!//)(?![\p{L}\p{N}\.#@$%+&;-~,?=/!]*(&colon))[\p{L}\p{N}\.#@$%+&;-~,?=/!]*"

name="offsiteURL"
value="(\s)((ht|f)tp(s?)://|mailto:)[\p{L}\p{N}]+[\p{L}\p{N}\p{Zs}.#@$%+&;:-_~,?=/!()](\s)*"

@spassarop
Copy link
Collaborator

spassarop commented Jan 12, 2024 via email

@mahi277149
Copy link
Author

name="onsiteURL"
value="^(?!//)(?![\p{L}\p{N}.#@$%+&;-,?=/!]*(&colon))[\p{L}\p{N}.#@$%+&;-,?=/!()]*"

i tried this with onsiteURL but it did not work, what am i missing here.

@mahi277149
Copy link
Author

the href contains following js method
'Lx.ui.launchBidAlternateValues(2942);'

@mahi277149
Copy link
Author

The a tag contained an attribute that we could not process. The href attribute had a value of "Lx.ui.launchBidAlternateValues(2942);". This value could not be accepted for security reasons. We have chosen to remove this attribute from the tag and leave everything else in place so that we could process the input.

i am seeing this error.

@spassarop
Copy link
Collaborator

I don't know what your problem is. I tested this:

AntiSamy as = new AntiSamy();
String input = "<a href=\"Lx.ui.launchBidAlternateValues(2942);\">Awning</a>";
System.out.println(as.scan(input, policy, AntiSamy.DOM).getCleanHTML());
System.out.println(String.join("\n", as.scan(input, policy, AntiSamy.DOM).getErrorMessages()));
System.out.println(as.scan(input, policy, AntiSamy.SAX).getCleanHTML());
System.out.println(String.join("\n", as.scan(input, policy, AntiSamy.SAX).getErrorMessages()));

Where policy is the default AntiSamy policy from antisamy.xml. Before changing the policy, the output removes the href attribute as you report, as it should. Then I only when to the policy file and changed:

<regexp name="onsiteURL"
            value="^(?!//)(?![\p{L}\p{N}\\\.\#@\$%\+&amp;;\-_~,\?=/!]*(&amp;colon))[\p{L}\p{N}\\\.\#@\$%\+&amp;;\-_~,\?=/!]*" />

To this, as I mentioned in my previous comment (only added brackets):

<regexp name="onsiteURL"
            value="^(?!//)(?![\p{L}\p{N}\\\.\#@\$%\+&amp;;\-_~,\?=/!]*(&amp;colon))[\p{L}\p{N}\\\.\#@\$%\+&amp;;\-_~,\?=/!()]*" />

After that, the output is as expected, without removal of href. From this I have two things to comment:
1- Modifying the policy actually works. Check again.
2- It does not sound correct that you want to admit a JS method (even though that does not work as a JS call without the javascript: schema) in a library that is created to prevent JS from executing. Think about it.

In conclusion I will close the issue and if there is a valid reason to reopen it, then do it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants