| Topic : Today's Testing Challenges |
|
|
Java Architect |
IT Quality assurance professionals |
Java Code Optimization tips |
2 more ...|
|
Activity:
168 views;
last activity : 08 11 2010 16:11:09 +0000
|
|
|
|
1
try to hack the system yourself
2
Security testing
3
CHMOD, Captcha and Vault
4
Cross Site Scripting (XSS)
5
CHMOD, Captcha and Vault
6
CHMOD, Captcha, Encryption etc..
7
Blackbox Testing
8
URL manipulation through HTTP GET method
9
SQL Injection:
|
||||||||||||||||||||||
|
|
I always look deeply at my project, and try to hack the system myself, because I know what happen in the system (transactions,sessions,...) then, yes I found a bug in the system, I could hack the system, now look for solutions, also try work with the system and just try to do something that system throws any exception, error,or..., I think the developer who developed the system can improve the system |
5
|
I will point out my view to make secure a website.
- Secure resources access
- Give Right to operate on a resource
- Every operation should be checked if current subject has right to perform that operation
I will discuss here my first point to make a website secure
- Most important thing in system is entering points means URLs that are open to choose for a user. If you can verify the resources at a given URL is secure, then you can say this particular resource is secured.
- Every entry in the URL should be supported with authentication and authorization issues. If I have to point it out. Here is an example: let’s say I have a URL http://localhost:8014/works/signup to access this URL I do not have to be a user or administrator. But if I have already logged in I should also able to access that link. So I can say that this URL should have access for all. Again an URL like http://localhost:8014/works/profile should be only accessed by a user or some admin account.
- If you are clear about the above point; going further I will ask you to change your URL pattern to http://localhost:8014/works/user/* and give this resource an access level. And yes for sign up URL you have to provide an exception like http://localhost:8014/works/user/signup will have anonymous access too.
This way you can manage your server resources and be free to hassles for security issues. As you know you have secured your URLs. No unauthorised, malicious object will access your resources. Now you can target on the more security needs.
Mr.Arash has mentioned a very good idea to secure our system.I mean if we ourselves try to hack our system before hackers do it then we can certainly know whether our application is secured or not and what are the changes that are needed to improve the security of the system.....this can be definitely be tried out.
|
|
Read more abt this here http://csrc.nist.gov/publications/nistpubs/800-42/NIST-SP800-42.pdf |
2
|
Hi All,
Thanks Sameer for the topic which surely interests all of us.
I support the 'Security testing' however there is a thin line between Security Testing and hacking as both activities can be performed with varied intentions.
There is no fixed formula or pattern for 'hacking the system' and one needs to think outside the box. At times it’s really interesting that the developer tries to hack the system which they have built. I said interesting because, we all have a particular aspect of looking at things and we all follow our own visualization about a program/code thus it might be difficult to find the gaps by hacking.
If you can think about securing the system you would have implemented in first step.
By following some of the best practices to validate the system security can be one of effective approach towards web application security.
Other group members already written some good practices, I will add few more to list.
1) Validating User Privilege within system.
2) Avoid DB transactions to be locked (Data Integrity aspect of Security testing)
3) As Kiran mentioned in his posting about – SQL Injection.
4) Input field validations at the UI level or Clients side will also help to some extent to prevent SQL injection.
5) Application using Cache memory from clients machine [e.g. suppose any particular operation continued after accessing previously saved/cached web pages from web history]
6) Validations for populating input data which is saved by auto complete functionality.
7) Checking Error Handling in place for the system
8) Planning for Server side and Client side validations is one of important step as it addresses the performance and server side traffic/operations.
9) Buffer overflow /Stack overflow situations
10) If system requires then appropriate use of secure protocol
11) Maintaining web sessions
12) Using View states in case of .NET applications
13) Maintaining FTP access within the system – Many a times if user wants to download any document or piece of information then user is navigated to the actual location where the document is stored on server, which should be avoided.
14) Last and certainly not least, which I can think as of now is one of very basic way. Browser Compatibility for the system and its operations handling – If the web application is accessed using 2 separate browser sessions on same client machine with the combination of same/different users privilege then the response might be interesting.
Thanks to all members who contributed their views.
|
|
Most of the security attacks comes in the form of bots. Captcha can prevent such bots getting registered to your web application. A proper CHMOD can protect your files and directories from getting it manipulated. ACL: can define the access to relevant sections to the users on their privileges. Database Vault or High Level encrytion could protect the database. Project Honey Pot: Registering with them could protect your website from the attacks/spammers etc.. |
1
|
|
|
I think to make secure web application before launching we can also go for Cross Site Scripting.The tester should additionally check the web application for XSS (Cross site scripting). Any HTML e.g. <HTML> or any script e.g. <SCRIPT> should not be accepted by the application. If it is, the application can be prone to an attack by Cross Site Scripting. The purpose of the security test is to discover the vulnerabilities of the web application so that the developers can then remove these vulnerabilities from the application and make the web application and data safe from unauthorized |
1
|
|
|
Most of the security attacks comes in the form of bots. Captcha can prevent such bots getting registered to your web application. A proper CHMOD can protect your files and directories from getting it manipulated. ACL: can define the access to relevant sections to the users on their privileges. Database Vault or High Level encrytion could protect the database. Project Honey Pot: Registering with them could protect your website from the attacks/spammers etc.. |
0
|
|
|
Most of the security attacks comes in the form of bots. Captcha can prevent such bots getting registered to your web application. A proper CHMOD can protect your files and directories from getting it manipulated. ACL: can define the access to relevant sections to the users on their privileges. Database Vault or High Level encrytion could protect the database. Project Honey Pot: Registering with them could protect your website from the attacks/spammers etc.. |
0
|
|
|
External person should test the system with out getting into system flow. But he must know what the system is doing.. |
0
|
|
|
According to me to make sure that our web application is secure a tester should manipulate URL through HTTP GET method. The tester should check if the application passes important information in the querystring. This happens when the application uses the HTTP GET method to pass information between the client and the server. The information is passed in parameters in the querystring. The tester can modify a parameter value in the querystring to check if the server accepts it. Via HTTP GET request user information is passed to server for authentication or fetching data. Attacker can manipulate every input variable passed from this GET request to server in order to get the required information or to corrupt the data. In such conditions any unusual behavior by application or web server is the doorway for the attacker to get into the application. |
0
|
|
|
In addition to your idea Sameer, I will prefer SQL injection also. Entering a single quote (‘) in any text box should be rejected by the application. Instead, if the tester encounters a database error, it means that the user input is inserted in some query which is then executed by the application. In such a case, the application is vulnerable to SQL injection. SQL injection attacks are very critical as attacker can get vital information from server database. To check SQL injection entry points into your web application, find out code from your code base where direct MySQL queries are executed on database by accepting some user inputs. If user input data is crafted in SQL queries to query the database, attacker can inject SQL statements or part of SQL statements as user inputs to extract vital information from database. Even if attacker is successful to crash the application, from the SQL query error shown on browser, attacker can get the information they are looking for. Special characters from user inputs should be handled/escaped properly in such cases. |
0
|
|
|
|
|
|
|
According to the latest news, taking the attack of " inherent racism " seriously, software giant Hewlett-Packard (HP) has admitted that its new face-tracking webcam has some 'issues' with black users . This issue grabbed worldwide attention this... |
I don't agree. Rather it make a user addicted. I've seen children addicted to video games are poor performers in their academics. And even if it increases the analytical skills, then also, what is the necessity of that skill which takes a child far... |
This is really good improvement in the storage of energy for rapidly increasing population |

