原文链接:http://wyb0.com/posts/injection-of-union-select/
前提
要用联合查询进行注入则:页面必须有显示位
联合查询
union可合并两个或多个select语句的结果集,
前提是两个select必有相同列、且各列的数据类型也相同
注入步骤
- 找注入点且得到闭合字符
- 判断数据库类型
- 猜解列数,得到显示位
- 得到基本信息(如:数据库名、数据库版本、当前数据库名等)
- 得到数据库名
- 得到表名
- 得到列名
- 得到列值
1. 找到注入点得到闭合字符
sqli1_get_closed_character.png
sqli1_check_closed_character.png
2. 判断数据库类型
sqli1_get_type_of_db.png
3. 猜解列数,得到显示位
sqli1_order_by.png
sqli1_get_display_point.png
4. 得到基本信息(数据库名、版本、数据库版本等)
sqli1_get_base_msg.png
5. 得到数据库
sqli1_get_db_num.png
sqli1_get_db_name.png
6. 得到security数据库的表名
sqli1_get_table_name.png
7. 猜解列名
sqli1_get_column_name.png
8. 猜解数据
sqli1_get_column_value.png