网络安全-sql注入

免责声明:本博客内所有工具/链接
请勿用于未授权的违法攻击!!
用户滥用造成的一切后果自负!!
使用者请务必遵守当地法律!!

1、url编码:https://tool.chinaz.com/tools/urlencode.aspx

2、SQL注入是网站存在最多也是比较简单的漏洞,主要原因是程序对用户输入的字符串没有进行过滤或处理不严谨,导致用户可以通过精心构造语句来非法获取数据库中的信息,SQL注入的首次公开讨论始于1998年左右,至今已有20多年的历史,被冠以漏洞之王的称号。sql语言即是结构化查询语言,通俗来讲就是操作数据库的语言,这些语句可以对数据库进行增、删、改、查等操作。注入在这里即是将用户输入的数据拼接到原始代码中,从而使得被注入的数据被当做代码执行,sql注入的核心:将用户的输入拼接到代码中,并被当做sql语句执行,

3、判断字段数注入:order by(排序,用来判断字段数)--order by 1(正常) order by 2(正常)order by 3(异常)说明仅仅存在两个字段,例如某网站:https://pu2lh35s.ia.aqlab.cn/?id=1 order by 1

4、判断显错位注入:union select (联合查询,用来查询自己想要得到的数据)联和查询前面的sql语句要和后面sql语句字段数一致,这个也是我们前面判断字段数的原因,联和查询时需要让前面查询语句查询不出数据,从而显示我们后面联和查询的结果,例如某网站:https://pu2lh35s.ia.aqlab.cn/?id=1 union select  1,22222222

5、判断是否存在注入:and 1=1 and 1=2(重点是看输入是否有被当做代码执行),例如某网站:https://pu2lh35s.ia.aqlab.cn/?id=1 and sleep(5)

6、判断库名注入:http://59.63.200.79:8003/?id=1.1 union select 1,database()

7、判断表名注入:http://59.63.200.79:8003/?id=1 union select 1,table_name from information_schema.tables where table_schema='库名'---------information_schema(mysql数据库5.0及以上版本,自带数据库,他记录了mysql数据库下所有的数据库名,表名,列名信息) information_schema.tables(记录表名信息的表),information_schema.columns(记录列名信息的表) table_name (表名) column_name (列名) table_schema (数据库名)

8、union all 和 union 区别:如果输出的数据有相同的,Union只会输出一次,而union all都会输出

9、

posted @ 2023-08-10 06:42  干it的小张  阅读(33)  评论(0编辑  收藏  举报