Python学习记录(十八):Awvs自动化扫描&XML分析
PyxYuYu opened this issue · 0 comments
PyxYuYu commented
The first wealth is health.
0x01 Wooyun
SQL
注入HTTP
头注入
VPN
弱口令test/test
0x02 Seebug
PHP
代码审计 --intval
和unset
- 参数在
common.inc.php
中被intval
,但是在具体的页面内,被重新定义了,而没有intval
,直接就被带入到SQL
语句中参与查询,导致SQL
注入的发生 - 参数设置为全局参数,但是没有
unset
导致可以替换任意为空,被带入到SQL
中,导致注入的产生
- 参数在
0x03 Awvs自动化扫描
xml
文件解析利用xml.dom
模块from xml.dom import minidom
minidom.parse(filename)
加载读取XML
文件dom = minidom.parse(filename)
dom.documentElement
获取XML
文档对象root = doc.documentElement
nodes = root.getElementsByTagName(TagName)
获取XML
节点对象集合node.getAttribute(AttributeName)
获取XML
节点属性值node.childNodes
返回子节点列表node.childNodes[index].nodeValue
获取XML
节点值node.firstChild
访问第一个节点,等价于pagexml.childNodes[0]
doc = minidom.parse(filename)
doc.toxml('UTF-8')
返回Node
节点的XML
表示的文本Node.attrubutes["id"]
a.name
就是上面的id
a.value
属性的值,访问元素属性XML
文档编码: 如果不写明encoding
的话,都是认为文件是UTF-8
编码DOM
是Document Object Model
的简称,以对象树来表示一个XML
文档的方法,使用它的好处就是可以非常灵活的在对象中进行遍历- 元素和节点
- 元素就是标记,成对出现,
XML
文档就是由元素组成的,但元素和元素之间可以有文本,在minidom
中有许多的节点,元素也属于节点的一种,不是叶子节点,即它存在子节点,还存在一些叶子节点,如文本节点,它下面不再有子节点
- 元素就是标记,成对出现,
dom = minidom.parse(filename)
得到dom
对象root = dom.documentElement
得到文档元素对象- 每一个节点都有它的
nodeName
nodeValue
nodeType
root.nodeName
获得根节点名字nodeValue
是节点的值,只对文本节点有效nodeType
是节点的类型- 子元素、子节点的访问
- 可以使用
root.getElementsByTagName(TagName)
方法,返回一个列表
- 可以使用
- 如果想得到某个节点下面所有的子节点,可以使用
childNodes
属性 - 总结一下,使用
minidom
来读取XML
中的信息- 导入
xml.dom.minidom
模块,生成dom
对象
- 导入
- 得到文档对象(根对象)
- 通过
getElementsByTagName()
方法和childNodes
属性(还有其他一些方法和属性)找到要处理的元素 - 取得元素下文本节点的内容
0x04 一天总结
- 代码审计中,参数在
common
中被intval
,结果却在用到时被重定义导致没有intval
,结果被带入SQL
中 xml.dom.minidom
模块的使用