[JBoss JIRA] Created: (SEAMFACES-26) Implement global protection against XSRF attacks via incremental token-based form fields
by Lincoln Baxter III (JIRA)
Implement global protection against XSRF attacks via incremental token-based form fields
----------------------------------------------------------------------------------------
Key: SEAMFACES-26
URL: https://jira.jboss.org/browse/SEAMFACES-26
Project: Seam Faces
Issue Type: Feature Request
Components: Security
Reporter: Lincoln Baxter III
Fix For: 3.0.0.Alpha4
I'd like to see a way to implement this for ALL pages, not requiring a custom tag.
I believe this could be done easily using the PreRenderViewEvent to add a hidden form field to store the token in all outbound forms, in combination with a cookie that is sent to the browser, storing a unique private key for that browser session.
Next, use a phase-listener after Restore_View, comparing the request parameter to the restored component value or session. Very similar to the <s:token> component, but as a global solution that could be enabled/disabled via XML config.
The token value increments on each subsequent form submission, and includes a hashed version of the browser's signature (and corresponding public key for the browser's cookie-assigned private key.) The token is compared to either a value stored in ViewState (insecure if using client-side state-saving) or a value stored in the user's session as (an ordered list that can detect repeat or invalid requests.)
Question: how does this affect the back-button?
Note: In order for any cookie-based public key to be assigned to the browser, one MUST assume that the server/client are speaking HTTPS, otherwise any communication of public/private keys will be vulnerable to man-in-the-middle attacks.
"1. When rendered, it assigns a unique identifier to the browser using a cookie that lives until the end of the browser session. This is roughly the browser's private key. The <s:token> tag is used inside of an <h:form> and generates a hidden form field named javax.faces.FormSignature. The form signature is calculated as follows: "
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years
[JBoss JIRA] Created: (SOLDER-61) Write documentation for JBoss Logging
by Dan Allen (JIRA)
Write documentation for JBoss Logging
-------------------------------------
Key: SOLDER-61
URL: https://issues.jboss.org/browse/SOLDER-61
Project: Seam Solder
Issue Type: Feature Request
Components: Documentation
Affects Versions: 3.0.0.Beta1
Reporter: Dan Allen
Fix For: 3.0.0.CR1
Seam Solder is the project that exposes JBoss Logging to the community (it's the face of JBoss Logging). We need a dedicated chapter on JBoss Logging:
1. What is it?
2. Why do we need it?
3. Is it portable (yes)
4. How do you use it?
5. How does tooling play in?
6. What does Solder add?
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years
[JBoss JIRA] Created: (SOLDER-73) Misc documentation issues
by Jozef Hartinger (JIRA)
Misc documentation issues
-------------------------
Key: SOLDER-73
URL: https://issues.jboss.org/browse/SOLDER-73
Project: Seam Solder
Issue Type: Bug
Components: Documentation
Affects Versions: 3.0.0.Beta3
Reporter: Jozef Hartinger
Priority: Minor
* Section 1.2
** remove org.jboss.logging:jboss-logging as a transitive dependency
** change "Most of Seam Solder has very few dependencies, only one of which is not provided by Java EE 6:" to reflect reality
* Chapter 3 - "Annotations without *listitems* provide a static INSTANCE *listitem* that should be used rather than creating a new instance every time." - this probably talks about annotations without *members* - IMHO it is not correct to reference annotation members as "listitems" - at least the CDI spec uses the term *member*
* Chapter 6
** "Access to MDC and NDC" - personally, I have no idea what *MDC* and *NDC* mean - consider explaining / using full name / providing a link
* Chapter 7
** " This chapter will walk you each utility" - should be "This chapter will walk you *through* each utility"
** s/javaodoc/javadoc
* Section 7.1
** s/Seam Solder provides an AnnotatedType implementation that should be suitable for most portable extensions needs./Seam Solder provides an AnnotatedType implementation that should be suitable for most portable *extensions'* needs.
* Chapter 14 - s/intercepter/interceptor
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years