目录
NiushopCMS渗透测试
站点首页
信息收集
检索ip信息,获取网站的信息
发现22端口存在高危
御剑扫描端口信息
发现开放以上端口信息
nmap扫描信息
扫描出来端口的信息:
扫描目录
状态码为200的:
其他目录信息:
弱口令爆破
刚刚信息收集,发现22端口开放,存在高危,尝试弱口令爆破
连接失败,说明可能不是弱口令
尝试弱口令爆破数据库
同样没有检查出,可能不存在弱口令
超弱口令工具地址:https://github.com/shack2/SNETCracker
尝试登录后台:
尝试输入账号密码,抓包进行爆破 可以先尝试使用账号admin,模式选择狙击手进行爆破,看是否能爆破成功
抓包获取数据,发送给Intruder模块,选择狙击手模式:
选择密码字典,进行爆破
通过观察,根据长度,做出判断
密码为:admin123456
成功登录后台 账号:admin 密码:admin123456
可以添加新管理员用户:
文件上传漏洞
在个人中心的个人资料当中存在文件上传点
找到文件上传点
尝试上传,抓包获取数据信息,成功上传文件,查看上传文件的路径
寻找上传图片的路径
上传成功,进行查看
访问文件上传点,php语句被解析,查看成功创建了木马文件,访问并尝试执行php语句
使用哥斯拉连接,成功拿到服务器权限
后台用户当中的个人资料当中,存在文件上传点
尝试上传图片,抓包修改数据信息,将php语句插入到图片当中,然后放包,查看上传成功
访问对应的上传路径,查看是否被解析
成功被解析。将php语句换成一句话木马,或者使用php一句话生成文件并写入木马 以php一句话生成文件并写入木马为例,一句话木马也是同样的原理
修改上传文件的后缀,将php木马语句插入到图片当中去,放包即可
成功上传,验证是否被解析
访问对应上传链接
验证我们刚刚插入的一句话当中,生成的木马文件是否成功生成,并能被解析
使用蚁剑或者哥斯拉进行连接
连接成功,添加即可
后台文章管理处,同样存在文件上传点
尝试过程同以上一致,语句可以是一句话木马或者一句话生成文件并写入木马,抓包插入到图片当中去 尝试的上传方法同以上大致相同
访问后,输入php语句,被解析
第三方工具蚁剑进行连接
连接成功
获取服务器权限成功:
其他等多出文件上传点,可依次尝试此方法。(同理,一致的思路和方法进行上传测试验证即可)
业务逻辑漏洞
任意购买商品,抓包修改数据包中的(数量信息)num信息
抓取数据包
放包即可,下一个数据包也是如此,将num改为-1
连续修改两个数据包,将其中的num改为-1即可,然后放包(num选几都可以,数量随意,修改时前面加负号即可)
继续放包,然后可以看到,支付0元
发现此方法执行后,会弹出库存不足的界面。我们尝试再次修改数量,改为0.000001再次尝试
我们再来随机选择一个商品:
点击购买:
抓取数据包,修改数据包信息:
修改购买数量
放包即可,再次观察第二个数据包:
再次修改
放包即可。
出现支付界面:
成功支付订单:
去会员中心我的订单中查看:
可实现0元购物。
还存在优惠券反复使用的业务逻辑漏洞,支付界面中提交订单后,抓包获取数据包,多次发送数据包,返回都是操作成功。去个人界面查看订单,优惠券是否被反复利用,是否成功。
XSS
在有交互的地方,都可以依次去尝试看是否存在xss
在后台的网站中的文章管理当中
尝试保存以后,验证一下是否有弹窗。
预览效果,发现弹窗
文章中心处会,出现弹窗。
同理获取cookie信息
成功获取cookie信息
可借助xss平台来进行信息探测,绕过登录
将此恶意语句代码,插入到其当中
去访问一下创建的界面
平台记录了信息
展开查看信息内容
展开后的信息:
将以上的url信息和cookie信息保存,利用hackbar,绕过登录
回退到前台,使用刚刚的url和cookie信息,尝试绕过登录
成功绕过:
成功绕过,进入后台管理界面。
经过查看验证测试发现:
在基础设置处,经过测试还存在XSS
前台观察其弹窗变化
经过测试发现,此类型为存储型XSS
跳转其他位置也会弹窗:
其他有交互地方,同理存在漏洞,反复尝试即可。
SQL注入
经过验证,发现前台存在sql注入
注入点:
抓包获取数据,保存到sqlmap目录下的txt文件当中
利用工具sqlmap跑:
经过测试sqlmap无法跑出数据库,无法爆库爆表。
同样的位置,在价格等多出,同样存在sql注入:
注入点存在报错:
再次利用工具sqlmap尝试跑:
布尔类型注入:
python sqlmap.py -r test.txt --technique=B --batch
成功跑出:
跑出可成功注入的方法和payload
注入类型和payload:
爆数据库
python sqlmap.py -r test.txt --technique=B --batch --dbs
找到我们对应网站的数据库,然后进行爆表。
接下来进行爆数据表
爆数据表
python sqlmap.py -r test.txt --technique=B --batch -D niushop_b2c --tables
等待过后,数据表信息出现:
数据库当中的数据表信息如下,成功爆出
由此可见,数据表的数量之多
通过观察发现,找到我们想要的,重要的数据表 猜测是sys_user 爆数据表当中的字段,获取列的信息
尝试爆破
python sqlmap.py -r test.txt --technique=B --batch -D niushop_b2c -T sys_user_admin --columns
sys_user_admin数据表:
表中列的信息被成功爆出
通过观察,没有我们想要的信息。继续爆其他数据表。
sys_users数据表:
获取数据表当中的列的信息:
python sqlmap.py -r test.txt --technique=B --batch -D niushop_b2c -T sys_user --columns
效果如下图所示:
观察到有比较敏感的数据信息,username和password
得到以上信息后,接下来我们继续爆破字段信息:
尝试爆破列的信息,爆破字段,获取重要的信息用户名和密码
python sqlmap.py -r test.txt --technique=B --batch -D niushop_b2c -T sys_user -C user_name,user_password --dump
部分数据信息:
猜测数据密码由MD5加密,尝试使用MD5进行解密,随机找到一个进行尝试:
继续等待爆数据信息。
查看更多的用户和密码信息
观察到admin信息,进行解密
获取admin用户和密码信息
爆破成功,获取用户和密码信息成功
爆破数据库成功!
经过验证,发现后台存在sql注入点:
设置当中的数据库管理中的查询界面
出现报错信息
抓包获取数据包,将其放在sqlmap的目录下,利用sqlmap跑
sqlmap跑数据:
爆数据库 python sqlmap.py -r test.txt --batch --dbs
等待过后:
sqlmap工具无法跑出。但存在SQL注入,可尝试其他方式进行注入。
后台的用户处,还存在sql注入点:
尝试注入
注入后,报错:
抓取数据包,保存致sqlmap的目录下的文本文件当中去
使用sqlmap工具跑数据:
跑出了注入语句以及数据库
爆数据库 python sqlmap.py -r test.txt --batch --dbs
确定当前所使用的数据库 python sqlmap.py -r test.txt --batch --dbs --current-db
爆数据库中的数据表 python sqlmap.py -r test.txt --batch --dbs -D niushop_b2c --tables
找到我们需要最重要的数据表,获取其中的信息
初步判断是这个表 接下来进行爆破表中的列信息 python sqlmap.py -r test.txt --batch --dbs -D niushop_b2c -T niushop_b2c --columns
找到我们最想要的列的信息,username和userpassword 爆破username和userpassword python sqlmap.py -r test.txt --batch --dbs -D niushop_b2c -T sys_user -C user_name,user_password --dump
部分用户信息:
通过分析密码是MD5加密,随机找一个密码进行解码
解码成功。
观察发现,sqlmap当中跑出数据后,一些password解码了。在加密后的括号当中是解码之后的信息。
内容仅供参考、学习。
文章不妥之处,欢迎批评指正!