private ExpressionInfo HandleGetOptions(FunctionCall call, IDictionary <uint, ExpressionInfo> argumentInfos, ExpressionInfo exprInfo) { XmlNode firstArgument; string optionsKeyValue; if (call.Arguments.TryGetValue(1, out firstArgument) && TryGetOptionKeyValue(firstArgument, argumentInfos[1], out optionsKeyValue)) { Func <TaintSets> taintFactory = () => new TaintSets(new SQLITaintSet(SQLITaint.SQL_ALL), new XSSTaintSet(XSSTaint.XSS_ALL)); var possibleStoredTaint = new StoredVulnInfo() { StorageOrigin = "Options", StorageName = optionsKeyValue, Taint = taintFactory(), ICantFeelIt = IsItInYet.NoImPullingOut }; var getOptionResult = new ExpressionInfo { ExpressionStoredTaint = possibleStoredTaint, ValueInfo = { PossibleStoredTaint = possibleStoredTaint, NestedVariablePossibleStoredDefaultTaintFactory = taintFactory, }, }; return(getOptionResult); } return(exprInfo); }
public ValueInfo() { Taints = new TaintSets().ClearTaint(); Variables = new Dictionary <VariableTreeDimension, Variable>(); NestedVariableDefaultTaintFactory = () => new TaintSets(); NestedVariablePossibleStoredDefaultTaintFactory = () => new TaintSets(); DefaultDimensionTaintFactory = () => new TaintSets(); PossibleStoredTaint = new StoredVulnInfo(); ClassNames = new List <string>(); }
private ExpressionInfo HandleGetOptions(FunctionCall call, IDictionary<uint, ExpressionInfo> argumentInfos, ExpressionInfo exprInfo) { XmlNode firstArgument; string optionsKeyValue; if (call.Arguments.TryGetValue(1, out firstArgument) && TryGetOptionKeyValue(firstArgument, argumentInfos[1], out optionsKeyValue)) { Func<TaintSets> taintFactory = () => new TaintSets(new SQLITaintSet(SQLITaint.SQL_ALL), new XSSTaintSet(XSSTaint.XSS_ALL)); var possibleStoredTaint = new StoredVulnInfo() { StorageOrigin = "Options", StorageName = optionsKeyValue, Taint = taintFactory(), ICantFeelIt = IsItInYet.NoImPullingOut }; var getOptionResult = new ExpressionInfo { ExpressionStoredTaint = possibleStoredTaint, ValueInfo = { PossibleStoredTaint = possibleStoredTaint, NestedVariablePossibleStoredDefaultTaintFactory = taintFactory, }, }; return getOptionResult; } return exprInfo; }