WebGoat之Injection Flaws

1. SQL Injection/SQL注入

SQL注入,是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。

主要用到的SQL语句:

SELECT * FROM table_name WHERE column_name = 'abc' OR '123' [ORDER BY column_name DESC/ASC]

INSERT INTO table_name VALUES("tester","22","F", ...);

UPDATE table_name SET column1_name = 'abc' WHERE column2_name = 'def';

DELETE FROM table_name WHERE column1_name = "abc";

WebGoat实例1—— Numberic SQL Injection

打开webscarab,截取HTTP Request并修改如下

<因为输入的station是数字型,所以不用加'>

攻击成功!

 

WebGoat实例2—— String SQL Injection

打开webscarab,截取HTTP Request并修改如下:

登录成功!

 

WebGoat实例3——Modify Data with SQL Injection

打开webscarab,截取HTTP Request并修改如下:

当攻击成功后,再查询jsmith的salary时,结果如下:


同理通过SQL注入,可实现增加或删除数据等操作。

2. Command Injection/命令注入

顾名思义,命令注入,就是在Web表单递交或输入域名或页面请求的查询字符串中注入命令。

WebGoat实例4——Command Injection

打开webscarab,截取HTTP Request并修改如下:

攻击成功!

此外,还有XPath等其它注入,原理如上,仅仅根据各种查询语句的语法不同而略有差异。

当然,还有盲注入......

posted @ 2012-10-30 16:52  Joy0724  阅读(1557)  评论(0编辑  收藏  举报